Подтвердить что ты не робот

Удалите кнопки "Изменить" и "Восстановить" в "Установка и удаление программ".

Я создал установщик 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>
4b9b3361

Ответ 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