修复时,Wix安装程序会清除注册表设置
发布时间:2020-12-14 04:06:06 所属栏目:Windows 来源:网络整理
导读:目前我已经定制了Wix_InstallDirDlg以使用户能够在安装时设置注册表项.在InstallDirDlg和MaintenanceTypeDlg之后会显示一个自定义对话框,以便它适合安装和修复方案. 自定义对话框具有链接到属性的单个文本框.此属性具有注册表搜索,以便在用户修复或升级时保
目前我已经定制了Wix_InstallDirDlg以使用户能够在安装时设置注册表项.在InstallDirDlg和MaintenanceTypeDlg之后会显示一个自定义对话框,以便它适合安装和修复方案.
自定义对话框具有链接到属性的单个文本框.此属性具有注册表搜索,以便在用户修复或升级时保留先前的值,并因此显示在自定义对话框中以供用户验证.该对话框在安装时工作正常,并创建了注册表项.但是,在修复时,将显示自定义对话框,并输入正确的注册表值(因此RegistrySearch正在运行),但修复完成后,键值为空. <Property Id='SERVER_LISTEN_URL'> <RegistrySearch Id='ServerListenUrlRegSearch' Root='HKLM' Key='SOFTWARE$(var.Manufacturer)$(var.Name)' Name='ServerListenUrl' Type='raw' Win64='no' /> </Property> <Component Id="RegistryEntries" Guid="0234974B-6158-4312-90A7-56869809B42E"> <RegistryKey Id="ServerRegKey" Root="HKLM" Key='SOFTWARE$(var.Manufacturer)$(var.Name)' Action='createAndRemoveOnUninstall'> <RegistryValue Id="ServerListenUrlRegVal" Name='ServerListenUrl' Value='[SERVER_LISTEN_URL]' KeyPath='yes' Type='string' /> </RegistryKey> </Component> <Dialog Id="SettingsDlg"> <Control Id="ListenUrl" Type="Edit" X="20" Y="100" Width="320" Height="18" Property="SERVER_LISTEN_URL" Indirect="no" /> </Dialog> 我做错了什么?
我发布后,我设法自己解决了这个问题.我花了一天时间试图解决这个问题,所以希望这会节省一些痛苦.您需要做的就是将属性更改为安全属性.
<Property Id='SERVER_LISTEN_URL' Secure='yes'> <RegistrySearch Id='ServerListenUrlRegSearch' Root='HKLM' Key='SOFTWARE$(var.Manufacturer)$(var.Name)' Name='ServerListenUrl' Type='raw' Win64='no' /> </Property> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-server-2008-r2 – 如何使用GPO将服务启动类型设置
- 将DLL注入的代码从Delphi 7转换为Delphi XE2
- 对Windows桌面应用程序进行UI自动化测试
- 适用于Windows7 / 2012或更高版本的AOE Windows Server / T
- Windows 7上的本地主机
- 从命令行在Windows上静默设置屏幕保护程序?
- 脚本 – 以一个步骤(在windows上使用7zip)以编程方式提取ta
- windows-server-2008 – 使用perfmon监控服务
- 在Windows中已经在版本控制下更改RStudio项目的Git协议
- 如何在Windows Workstation或Server上强制同步时间?