Удалите кнопки "Изменить" и "Восстановить" в "Установка и удаление программ".
Я создал установщик Wix и упаковал его в программу начальной загрузки.
Когда я запускаю программу bootstrap, она создает следующие записи в реестре:
alt text http://n2.nabble.com/file/n4011693/Up.jpg
Когда я запускаю программу bootstrap, она устанавливается хорошо, и когда я запускаю программы "Установка и удаление", она показывает кнопку "Изменить" и кнопку "Восстановить". Мое требование состоит в том, что
- Я хочу, чтобы эти две кнопки были такими же, как "Изменить/Восстановить", как в других приложениях.
- Когда я выбираю эту кнопку, я хочу запустить мою программу начальной загрузки (setup.exe), а не msi
Это моя область кода:
<Property Id="EXTUNINSTALL" Value="0"/>
<Property Id="UNINSTALLEXE" Value="msiexec.exe"/>
<!-- The Uninstall shortcut target executable & arguments-->
<CustomAction Id="SetUNINSTALLEXE_EXT" Property="UNINSTALLCMD"
Value="[INSTALLEREXEDIR][INSTALLEREXE]"/>
<CustomAction Id="SetUNINSTALLARG_EXT"
Property="UNINSTALLARG"
Value="/MAINTENANCE /SILENT="SGWLRPFCE"
/LANG="[ProductLanguage]""/>
<CustomAction Id="SetSYSTEMARPCOMPONENT"
Property="ARPSYSTEMCOMPONENT"
Value="1"/>
<CustomAction Id="SetUNINSTALLARG"
Property="UNINSTALLARG"
Value="/x [ProductCode]"/>
<CustomAction Id="SetUNINSTALLEXE"
Property="UNINSTALLCMD"
Value="[SystemFolder]msiexec.exe"/>
<CustomAction Id="SetARPINSTALLLOCATION" Property="ARPINSTALLLOCATION"
Value="[MAININSTALLERFOLDER]" />
<InstallExecuteSequence>
<RemoveExistingProducts Before="InstallInitialize" />
<Custom Action="SetARPINSTALLLOCATION" After="CostFinalize"/>
<Custom Action="SetUNINSTALLEXE_EXT"
After="SetARPINSTALLLOCATION"><![CDATA[EXTUNINSTALL=1]]></Custom>
<Custom Action="SetUNINSTALLARG_EXT"
After="SetUNINSTALLEXE_EXT"><![CDATA[EXTUNINSTALL=1]]></Custom>
<Custom Action="SetSYSTEMARPCOMPONENT"
After="SetUNINSTALLARG_EXT"><![CDATA[EXTUNINSTALL=1]]></Custom>
<Custom Action="SetUNINSTALLARG"
After="SetSYSTEMARPCOMPONENT"><![CDATA[EXTUNINSTALL=0]]></Custom>
<Custom Action="SetUNINSTALLEXE"
After="SetUNINSTALLARG"><![CDATA[EXTUNINSTALL=0]]></Custom>
</InstallExecuteSequence>
Ответы
Ответ 1
Вы можете установить ARPNOMODIFY и свойства ARPNOREPAIR в wix, который отключит опции "изменить" и "восстановить" для вашего продукта в списке "добавить/удалить программы". (Это фактически эквивалентно ответу leppie, но лучше использовать свойства установщика Windows, а не просто взломать в реестре.)
<Property Id="ARPNOREPAIR" Value="yes" Secure="yes" />
<Property Id="ARPNOMODIFY" Value="yes" Secure="yes" />
Ответ 2
Согласно @Wim Coenen
Чтобы отключить кнопки "Изменить" и "Восстановить" в "Установка и удаление программ", установите следующее свойство.
ARPNOREPAIR и ARPNOMODIFY
Это пример кода для отключения функции "Ремонт и обновление".
<Property Id="ARPNOREPAIR" Value="yes" Secure="yes" />
<Property Id="ARPNOMODIFY" Value="yes" Secure="yes" />
Ответ 3
Предложение для первой части вопроса:
"Я хочу, чтобы эти две кнопки были такими же, как" Изменить/Восстановить ", как в других приложениях"
Я запускаю Windows 7, и единственное, что близко к этому параметру, - это некоторые приложения, в которых объединены "Uninstall/Change".
Чтобы выполнить кнопку ONE (существующую в Wix 3.7) "Uninstall/Change" вместо "Uninstall" и "Change" отдельно, тег пакета должен быть отрегулирован, как показано ниже.
<Bundle ...
DisableModify="button">
Ответ 4
Вот некоторые примеры ключей реестра из NSIS. Должен поставить вас в правильном направлении.
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2 "NoModify" 1
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\Example2 "NoRepair" 1