Mik*_*ras 9 installer windows-installer wix properties
在我的WiX安装程序中,我有一个UserID的属性,该属性被写入注册表项:
<Property Id='UserID' Value='123' />
<Directory Id='TARGETDIR' Name='SourceDir'>
<Component Id='UserIDComponent' Guid='*'>
<RegistryValue Root='HKCU' Key='Software\[Manufacturer]\[ProductName]'
Type='integer' Value='[UserID]' Name='UserID' />
</Component>
Run Code Online (Sandbox Code Playgroud)
我想将该属性的值设置为即时下载我的安装程序的用户的用户ID.因此,当他们去下载时,我只会创建一个每个人都可以获得的基本MSI的副本,将UserID的值设置为下载文件的人的值,这就是他们下载的内容.它将是每个人都获得的相同安装包,但具有为其定制的属性.
但是,我似乎无法找到有关如何从外部源设置WiX MSI属性的任何资源.我怎样才能做到这一点?
mar*_*c_s 10
据我记忆,你确实可以从"外部"设置属性 - 属性名称必须在所有大写中被识别为公共属性(不要问我为什么......)然后你可以设置它是这样的:
msiexec /i C:\Example.msi PROPERTY=VALUE
Run Code Online (Sandbox Code Playgroud)
例如在你的情况下
msiexec /i C:\Example.msi USERID=somevalue
Run Code Online (Sandbox Code Playgroud)
有关使用MSIEXEC的命令行选项,请参阅MSDN文档