在WIX安装程序修复期间再次安装组件

时间:2017-09-12 05:07:51

标签: wix

我想在安装我的产品时在注册表上写。我可以成功完成组件内部的操作。

<Component Win64='$(var.Win64)' Id='RegistrySetup' Guid='840D9DC3-3F98-4597-A089-D649EC3E7FEB' Directory='TARGETDIR'>

      <RegistryKey Root="HKLM" Key='[UtillRegKey]' ForceCreateOnInstall='yes' ForceDeleteOnUninstall='yes' >
        <Permission User="Everyone" GenericAll="yes" />
      </RegistryKey>
</Component>

[UtillRegKey]由自定义操作生成,因此每次运行时值都不同。

现在我需要将此安装程序作为更改模式运行,并做一些工作。 当我在更改模式下运行时,我需要再次运行上面的compnent以生成另一个注册表项。

有没有办法做到这一点?

修改

我的意思是“在更改模式下运行”是,如果安装程序第二次运行,则会打开“MaintenanceTypeDlg”。它有三个按钮“Change”,“Repair”&amp; “去掉”。 (我正在定制WixUI_Mondo

我更改了此对话框以使用此更改按钮执行我打算执行的操作。 (而不是添加/删除我想再次在注册表中写入的功能)

如果单击“{更改”按钮WixUI_InstallMode属性将设置为“更改”

 <Publish Property="WixUI_InstallMode" Value="Change">1</Publish>

我尝试使用自定义操作,但由于用户没有对注册表项的写入权限,我也无法做到。

0 个答案:

没有答案