我想在安装我的产品时在注册表上写。我可以成功完成组件内部的操作。
<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>
我尝试使用自定义操作,但由于用户没有对注册表项的写入权限,我也无法做到。