Чтобы сравнить версии, мне нужно выяснить, установлено ли мое приложение. Я использую реестр для хранения всей необходимой информации, и было бы очень полезно, если бы я мог как-то читать строки из реестра. Основная проблема здесь в том, что я не знаю своего собственного 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