2015-04-15 3 views
0

Ну, мой установщик тихо установил какой-то сторонний установщик MSI. Теперь в настоящее время я проверяю существующую версию методом чтения реестра ключа Uninstall (SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall {GUID}). Но это приводит к некоторой проблеме, как каждый раз, когда компания дает мне новый обновленный установщик, мне нужно изменить этот GUID.NSIS - проверка версии стороннего приложения

И да, я не могу полагаться на метод обновления установщика сторонней компании, так как иногда их msi прикручивается, поэтому необходимо вручную проверить область обновления.

Теперь один из способов преодолеть это, прочитав номер версии этих сторонних установленных файлов и принять соответствующее решение.

Есть ли какой-либо другой способ, который каждый может указать мне?

+0

Не могли бы вы проверить код выхода msiexec.exe? – Anders

+0

Вопрос заключается в проверке существующей версии существования стороннего программного обеспечения на целевой системе. Какая точка проверки типа возврата msiexec? – hypheni

+0

Я думал, что вы установили .msi, а затем проверили, извините ... – Anders

ответ

0

В NSIS есть функция GetFileVersion, которая может вам помочь. Просто передайте ему один из исполняемых файлов из сторонних файлов. Вот мой пример:

${GetFileVersion} "$UserDir\thirdParty.exe" $CurrentVersionString 
StrCpy $CurrentVersion $CurrentVersionString 
DetailPrint "The Current version is: $CurrentVersion" 

Это будет работать, если стороннее программное обеспечение правильно вернет свои исполняемые файлы.

+0

Это предложение уже представлено в качестве предлагаемого решения. Я искал какое-то другое обходное решение. Но такого нет. Либо проверьте ключ «Удалить», либо полагайтесь на версию файла и существование файла. – hypheni

Смежные вопросы