2

nsisのレジストリからインストールされたプログラムのパスを取得するにはどうすればよいですか?readregistryコマンドでレジストリを読み取り、変数に割り当てています。実際には、uninstall.exeの場所を見つけたいと思っています。

4

1 に答える 1

1

この命令を使用する場合は、将来の使用のためにディレクトリが保存されるInstallDirRegKeyレジストリキーを指定できます。$INSTDIRそのキーは、次にインストーラーが起動したときに自動的に読み取られます。

あなたはそれを見つけるために使うことができますuninstall.exe

UninstallStringインストール時にいくつかのキーを記述して、ウィンドウの「プログラムの追加/削除」を構成することもできます。その後、レジストリ値によってユニスタラーを見つけることができます。

!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\my_application"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}"  "DisplayName" "my_application Uninstaller"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}"  "DisplayIcon" "$INSTDIR\my_application.exe,0"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}"  "Publisher" "My company"
WriteRegStr HKLM "${PRODUCT_UNINST_KEY}"  "HelpTelephone" "555-123456"

WriteRegStr HKLM "${PRODUCT_UNINST_KEY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
于 2012-12-18T13:30:16.803 に答える