Wix 我们可以使用KeyPath=";否";用",;“组件”;元素以及注册表
我已经为我的项目生成了windows安装程序包(.msi文件) 我安装了安装程序,但之后无法启动应用程序 因此,我正在检查.wxs文件以找到根本原因并找到一些可疑的代码Wix 我们可以使用KeyPath=";否";用",;“组件”;元素以及注册表,wix,wix3.5,wix3,wix3.7,wix3.6,Wix,Wix3.5,Wix3,Wix3.7,Wix3.6,我已经为我的项目生成了windows安装程序包(.msi文件) 我安装了安装程序,但之后无法启动应用程序 因此,我正在检查.wxs文件以找到根本原因并找到一些可疑的代码 <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs"> <Fragment> <DirectoryRef Id="INSTALLDIR"> <!-- This component creates EMR v3.0 R
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<!-- This component creates EMR v3.0 Registry Entries-->
<Component Id="RegistryEntries_Set1" Guid="1A20601C-77EA-11E0-98C2-1AD64824019B" KeyPath="no">
<!-- To remove stray registry entries under HKLM,HKU and HKCU registry hives-->
<!--<Registry Id="Delete$(var.CompanyName)Node" Root="HKLM" Key="Software\$(var.CompanyName)\$(var.ProductName)" Action="removeKeyOnUninstall" />-->
<RegistryKey Id="Delete$(var.CompanyName)Node" Root="HKLM" Key="Software\$(var.CompanyName)\$(var.ProductName)" Action="createAndRemoveOnUninstall" />
<RegistryKey Id="Delete$(var.CompanyName)Node2" Root="HKU" Key=".DEFAULT\Software\$(var.CompanyName)" Action="createAndRemoveOnUninstall" />
<RegistryKey Id="Delete$(var.CompanyName)Node3" Root="HKCU" Key="Software\$(var.CompanyName)" Action="createAndRemoveOnUninstall" />
我理解,如果Keypath=“yes”表示windows installer认为Keypath资源存在,并且不会再次安装
如果Keypath=“否”,它将安装
在本文中,我想知道KeyPath=“no”是什么意思,还想了解这个代码片段
组件将在此处执行什么操作?从中,如果组件中的键路径值未设置为“是”,它将自动尝试选择组件内部声明的一个元素作为键路径
因此,在示例中显示的内容中,组件的第一个RegistryKey元素将被声明为KeyPath。您的代码示例将在安装时创建3个注册表项(并在卸载时将其删除),并考虑如果在系统上自动选择了作为关键路径的注册表项,则安装该组件。