0
バージョンを比較するために、自分のアプリケーションが既にインストールされているかどうかを調べる必要があります。 私は必要な情報をすべて格納するためにレジストリを使用しています。レジストリから文字列を読み込めると非常に便利です。ここでの主な問題は、以前のインストール時にランダム化された自分のGUIDを知らないことです。 GUIDを知らないとアプリケーションを見つける方法
は、私は、スクリプト、次の書いた私のレジストリパスを生成するには:Function .onInit
${If} ${RunningX64}
StrCpy $R0 "SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall"
${Else}
StrCpy $R0 "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
${EndIf}
FunctionEnd
主部:
Section "Main" sec
System::Call 'ole32::CoCreateGuid(g .s)'
Pop $0
WriteRegStr HKLM "$R0\$0" 'DisplayVersion' '${AppVersion}'
SectionEnd
だから、基本的に私はDisplayVersion
文字列を読み込むための方法を見つける必要があります。 FindFirst
のバリエーションがありましたがレジストリに登録してください。
うわー、ありがとうございました! – CeeZee