忽略不允许的属性 IISMAJORVERSION 和“EnableUserControl”?

Pau*_*l L 5 windows-installer wix

我的安装程序包在我的机器上工作,但在我同事的机器上失败。查看日志,我可以看到在 ExecuteAction 短语期间没有保留一些属性值:Ignoring disallowed property他的安装程序日志文件中有几行,并且这些属性在 UISequence 期间设置了正确的值。奇怪的是,我们都是本地机器上的管理员用户,他也是域管理员,而我不是,而且我们都在 Windows 7 64 位上。所以我不认为这是因为他没有管理员权限。

日志文件中的确切条目:

MSI (s) (3C:50) [09:14:16:583]: Ignoring disallowed property IISMAJORVERSION
MSI (s) (3C:50) [09:14:16:583]: Ignoring disallowed property IISMINORVERSION
MSI (s) (3C:50) [09:14:16:583]: Ignoring disallowed property WCF_SRV_INSTALL_FOLDER
MSI (s) (3C:50) [09:14:16:583]: Ignoring disallowed property TARGETDIR
Run Code Online (Sandbox Code Playgroud)

一个简单的解决方法是将所有这些属性标记为Secure,但IISMAJORVERSION我的代码中没有定义诸如此类的属性。我发现,我可以设置EnableUserControl1使Ignoring disallowed property消失。另一种解决方案是创建我自己的安全属性并将我需要的任何忽略的属性值复制到我自己的属性中并读取它们而不是被忽略的属性。

那之后,我发现有一个条目Machine policy value 'EnableUserControl' is 0在他的安装程序日志,但不是在我的日志,这似乎设定点EnableUserControl1大概是我所需要的。在那种情况下,问题是为什么这两台机器的值不同?

所以我的第一个问题是:是否EnableUserControl为我的解决方案设置了一个很好的解决方案,或者可能有更好/更安全的解决方案,因为我似乎只找到了症状但没有找到原因?

或者,如果EnableUserControl给出的信息看起来是一个合理的修复,任何建议都可以帮助我追踪问题的原因(管理员可能更改了注册表项值?)。

我不认为我的安装程序有什么特别之处,但如果有人想查看更多详细信息:

<Package Id="*"  InstallerVersion="200" Description="Web service installer" Compressed="yes" InstallScope="perMachine" />
Run Code Online (Sandbox Code Playgroud)

编辑:

正如 PhilDW 所指出的,这些属性可能应该被标记为Secure开始。但是不是所有的属性都应该被标记为Secure因为 UAC,我认为定义一个属性不是很有意义,Secure如果它可能被其他人使用?

Phi*_*lDW 2

我很确定您是否定义它们并不重要 - 尝试将它们标记为“安全”。