2012-09-11 4 views
0

HM NIS 편집으로 만든 제거 프로그램이 있습니다. 그리고 지금은 정적 경로에서 제거 프로그램을 실행하고 있습니다. 그러나 저는 그것을 역동적으로 만들고 싶습니다. 그것은 reg을 읽은 다음 그 경로를 접두어로 사용하여 제거 프로그램을 찾습니다.NSIS Embed 제거 프로그램 readRegStr 파일 경로

readRegStr $0 HKLM "SOFTWARE\Data Access Worldwide\Visual DataFlex\17.0\Defaults" VDFRootDir 

나는 분명히했다.

+0

제거의 경로 .EXE 정말 동적 일 수 없다 제어판은 일반적으로 등록되어 있으므로 제어판에서 찾을 수 있습니다. 제거 프로그램이 파일을 제거하기로되어있는 경로를 의미합니까? – Anders

+0

VDF가 설치된 위치를 알아 내기 위해 레지스트리를 읽는 것만으로 제거 프로그램의 접두어로 사용할 수 있습니다. VDF가 설치된 경로는 다음과 같습니다. C : \ Appl \ Visual DataFlex 17.0 \ 그러면 제거 프로그램이 다음과 같을 것입니다. C : \ Appl \ Visual DataFlex 17.0 \ Visual DataFlex 17.0.22.0 \ UNWISE.EXE를 제거하십시오. 나는 나 자신을 분명히하기를 희망한다. –

답변

0

당신은 strcpy와 함께 문자열에 가입 할 수 있습니다 :

ReadRegStr $0 HKLM "SOFTWARE\Data Access Worldwide\Visual DataFlex\17.0\Defaults" VDFRootDir 
StrCpy $0 "$0\Uninstall Visual DataFlex 17.0.22.0\UNWISE.EXE" 
ExecWait '"$0"' 

한 번만 문자열을 사용하는 경우도 strcpy를 필요하지 않습니다 :

ReadRegStr $0 HKLM "SOFTWARE\Data Access Worldwide\Visual DataFlex\17.0\Defaults" VDFRootDir 
ExecWait '"$0\Uninstall Visual DataFlex 17.0.22.0\UNWISE.EXE"' 
+0

롤 나는 말 그대로 20 행의 코드에서 5로 갔다. 감사합니다 Anders! –

관련 문제