我尝试了为每个用户和每台计算机创建单个MSI的所有方案。以下是我的解释:根据https://blogs.msdn.microsoft.com/windows_installer_team/2009/09/02/authoring-a-single-package-for-per-user-or-per-machine-installation-context-in-windows-7/
<Property Id='ALLUSERS' Value='2' />
<Property Id='MSIINSTALLPERUSER' Value='{}' />
每台机器安装的结果和MSIINSTALLPERUSER的值是&#34; 1&#34;导致每用户安装。
现在我正在运行一个自定义操作,用于确定用户是否为admin,因此将属性值更改为{}或1.
我的问题是&#34; ALLUSER&#34;更改为1在安装期间记录之前。创建的日志显示:
"PROPERTY CHANGE: Modifying ALLUSERS property. Its current value is '2'. Its new value: '1'."
但是,当我通过直接给出MSIPERUSER值作为&#34; 1&#34;日志显示:
"PROPERTY CHANGE: Deleting ALLUSERS property. Its current value is '2'."
所以请帮助我如何为管理员用户和普通用户开发单个安装程序。
提前致谢。
答案 0 :(得分:0)
基本上你遵循这里的规则:
https://msdn.microsoft.com/en-us/library/windows/desktop/dd408068(v=vs.85).aspx
这里的要点是Windows根据用户的权限决定安装的工作方式,而不是自定义操作。这就是房产价值变化的原因。遵循这些规则,它只是有效。