Tar*_*rik 4 windows-installer wix
首先,让我定义一下私有财产的含义。通常,可以使用脚本设置属性,如下所示:
<Property Id="CHECKREGISTRY">
<RegistrySearch Id="CheckRegistryKey"
Root="HKLM"
Key="SOFTWARE\Foo"
Name="Bar"
Type="raw" />
</Property>
<Condition Message="You don't have the required permission to install this tool.">
<![CDATA[Installed OR CHECKREGISTRY]]>
</Condition>
Run Code Online (Sandbox Code Playgroud)
但问题是,您可以通过简单地运行如下脚本来绕过此检查:
msiexec.exe /i FooInstaller.msi /quiet CHECKREGISTRY="#1"
Run Code Online (Sandbox Code Playgroud)
这违背了您应该拥有注册表项才能做您想做的事情的第一个想法。
如您所见,私有属性(如果存在)将阻止这种情况发生,并允许仅从 MSI 安装程序本身进行设置。
我本来想走CustomAction路线,但是对于一个很简单的事情来说,却过于复杂了。这个问题有什么简单的解决方案吗?或者我们如何首先定义私有属性?
您可以通过使用小写字母命名来创建私有属性。公共属性全部大写。
但是,您不能用于AppSearch设置私有属性。
请记住,MSI 数据库可以被检查,因此没有真正的安全性。最好的方法是使用自定义操作来进行混淆。
| 归档时间: |
|
| 查看次数: |
1211 次 |
| 最近记录: |