답변
user.config 데이터는 %APPDATA%\ProjectName
폴더에 저장됩니다. 당신은 당신이 당신이 바로 System.IO.Directory.Delete("%APPDATA%\ProjectName");
주를 사용할 수 있습니다 제거 할 때 user.config 데이터를 제거하려면
: 당신은 Context.Parameters["assemblypath"]
다음이 사용자가 설치하도록 선택하는 경로를 사용하여 설치 경로를 얻을 수 있습니다 프로젝트.
설치 또는 제거 중 또는 둘 다를 실행하는 동안 실행 파일을 트리거하는 사용자 지정 동작을 작성할 수 있습니다. 예 :: user.config 폴더를 삭제하는 .exe를 만듭니다. 바이너리 테이블에이 exe를 추가하십시오. 바이너리 테이블에 이름을 지정하는 외래 키인 Source와 CustomAction 테이블에 항목을 추가하고 실제 exe 파일 이름 및 유형 = 2 인 TArget을 추가합니다. 이제 InstallExecuteSequence에서이 작업을 설치 과정에서 .exe를 트리거 할 순서 순서와 함께 추가하십시오 .
이것은 위의 대답을 기반으로 나를 위해 일했습니다. 내 응용 프로그램의 경우 "모든 사용자"가 아닌 사용자 단위의 설치 만 허용하므로 여러 사용자의 제거 또는 제거를 실행하는 현재 사용자 이외의 사용자에 대해 걱정할 필요가 없습니다. "모든 사용자"설치를 허용하면 해결할 몇 가지 문제가 있습니다. 실제로 거기에 프롬프트를 떠나지 않을거야
public override void Uninstall(System.Collections.IDictionary savedState)
{
String p = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "CompanyName");
string[] ss = Directory.GetDirectories(p, "ProjectName.*");
foreach (string s in ss)
{
if(MessageBox.Show("Delete " + s + "?","Delete Settings?",MessageBoxButtons.YesNo) == DialogResult.Yes)
Directory.Delete(s, true);
}
base.Uninstall(savedState);
}
, 그건 그냥이 코드는 완벽하게 테스트 할 때까지 .. 내 PC에 잘못된 폴더를 삭제 아니에요 확인하는 테스트입니다. 프로젝트에 맞게 CompanyName과 ProjectName을 변경해야합니다.
UI를 제거하는 페이지를 추가하거나 모든 설정을 삭제할 것인지 묻는 메시지 만 표시하여 다시 설치할 것인지 선택할 수 있습니다. C : 사용자를 \ \ [사용자] \의 AppData
var filePath = Environment.ExpandEnvironmentVariables(@"%userprofile%\APPDATA/ProjectName");
System.IO.Directory.Delete(filePath);
1) Create a custom action (article includes pictures)
2) 사용자 지정 작업
[System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand)]
public override void Uninstall(IDictionary savedState)
{
try
{
string path = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData);
path = Path.Combine(path, "{Your application folder name}");
Directory.Delete(path, true);
}
catch(Exception)
{
}
base.Uninstall(savedState);
}
- 1. MSI Unistall : UI 시퀀스를 강제로 제거하는 방법
- 2. ListBox에서 항목을 제거 하시겠습니까?
- 3. 제거하는 동안 공유 DLL이 등록 해제/해제되는 것을 보호 하시겠습니까?
- 4. NSMutableData에서 바이트를 제거 하시겠습니까?
- 5. IOS, 경고를 제거 하시겠습니까?
- 6. Lex : 강제로 스캔 하시겠습니까?
- 7. 텍스트에서 태그를 제거 하시겠습니까?
- 8. 강제로 웹 페이지에서 속성을 무효화 하시겠습니까?
- 9. 처음 16 바이트를 제거 하시겠습니까?
- 10. Flex : ApplicationControlBar에서 그림자를 제거 하시겠습니까?
- 11. 화면 상단에있는 textview를 제거 하시겠습니까?
- 12. iPhone 및 핵심 데이터 - NSManagedObject를 제거 하시겠습니까?
- 13. UIWebView에서 그라디언트 배경을 제거 하시겠습니까?
- 14. Qt MessageBox에서 TitleBar를 제거 하시겠습니까?
- 15. 목록 목록에서 중복을 제거 하시겠습니까?
- 16. 문자열 끝에 '/'를 제거 하시겠습니까?
- 17. XP SP3에서 IE8을 제거 하시겠습니까?
- 18. 입력하는 동안 TextInput 내부의 문자를 제거 하시겠습니까? (Flex 4.5)
- 19. 한 범위를 다른 범위로 매핑하는 동안 특이점을 제거 하시겠습니까?
- 20. php : 강제로 hd로 다운로드 하시겠습니까?
- 21. connectionDidFinishLoading - 강제로 UIView를 업데이트 하시겠습니까?
- 22. Facebook에서 강제로 HTTPS를 사용 하시겠습니까?
- 23. Ruby에서 동일한 객체를 제거 하시겠습니까?
- 24. 강제로 ClickOnce - 응용 프로그램을 오프라인에서 시작 하시겠습니까?
- 25. 강제로 asp.net 회원 가입
- 26. htaccess 도움, 강제로 www, https 및 index.php 제거 필요
- 27. 표준 설치에서 mediawiki 언어를 제거 하시겠습니까?
- 28. PyQT 프로그램 제목 표시 줄을 제거 하시겠습니까?
- 29. linux에서 파일의 특정 태그를 제거 하시겠습니까?
- 30. 언제 베타 태그를 제거 하시겠습니까?
user.config의 GET의이 위치에 생성의
Uninstall
이벤트를 처리 \ Local \ [Company] \ [Project Name] .vshos_Url_zw3i045fzlcuakzzn3dtaw3fqgh03sub \ 1.0.0.0; 나는 그 같은 위치를 생각하지 않는다. –@ Martin Ongtangco, 맞다. 맞다. 그러나 모든 user.config 설정을 제거하려면이 폴더를 삭제하면됩니다. C : \ Users [User] \ AppData \ Local [회사] [프로젝트 이름] – Jethro
분명히 "Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.ApplicationData),"회사 이름 ")" 그러나 "모든 사용자" –