NSISドキュメントから、
root_key subkey key_name
この属性は、レジストリ内の文字列をチェックし、その文字列が有効な場合はインストールディレクトリに使用するようにインストーラに指示します。この属性が存在する場合、レジストリキーが有効な場合はInstallDir属性をオーバーライドし、そうでない場合はInstallDirのデフォルトにフォールバックします。
したがって、.nsi
ファイルにこれらの行がある場合:
InstallDir "D:\myFolder\myFile"
InstallDirRegKey HKCU "Software\${PRODUCT_COMPANY}\${PRODUCT_NAME}" "Install_Dir"
D:\myFolder\myFile
インストールディレクトリをデフォルトディレクトリとして設定したことは理解していますがSoftware\${PRODUCT_COMPANY}\${PRODUCT_NAME}
、が有効なパスである場合は、代わりにそれを使用します。あれは正しいですか?
別の投稿InstallDirRegKey
から、同じ場所での以前のインストールを上書きするために命令が使用されていることを理解しています。それはどのように正確に機能していますか?私が以下を持っている場合、
InstallDir "D:\myFolder\myFile"
InstallDirRegKey HKCU "D:\myFolder\myFile" "Install_Dir"
NSISスクリプトによって生成された新しい.exe
ファイルは以前のファイルを上書きしますか?または、実行可能ファイルが前の実行可能ファイルを上書きすることを意味しますか?