繁体   English   中英

我的.msi在Windows Vista和7上的行为怎么会如此怪异?

[英]How can the behavior of my .msi on Windows Vista and Seven be so weird?


我使用InstallShield创建了一个.msi,我试图在Windows Vista和Windows 7的每个用户安装中正常工作。

我正在使用virtuabox虚拟化Vista和7,每个虚拟机具有3个帐户:

-Admin1(默认帐户)

-管理员2

-User1

无论我登录了哪个帐户,它都始终为Admin1安装软件,.msi始终为我提供Permachine和peruser之间的选择。

我可以将我想要的值(通过InstallShield)提供给Allusers参数,它不会影响Vista和Seven上的行为。

我拼命尝试使用Orca / windows安装程序日志/Winlogutl.exe,但我不知道这些工具的用途。

所以我的问题是:Windows Vista和Seven.msi上的.msi行为怎么会如此怪异? 我可以寻找什么来解决问题?

在UAC时代之前偶尔使用ALLUSERS属性来提供“供所有用户使用或仅由我使用”选项的行为,并未得到很好的构想,并且效果不佳,尤其是在UAC后时代。 在Windows Vista上,您只能为.msi软件包中的设置选择一个值,该值可以设置为高或低。 ALLUSERS不会更改此设置。 由于它总是(或从不)升高,因此您实际上只能处理两种情况之一。

Windows 7和Windows Installer 5引入了MSIINSTALLPERUSER属性,该属性可以替代导致软件包升高的设置。 因此,同一软件包可以为每个人升高和安装,也可以保持不升高并为“仅我”安装。 尽管自Windows 7发行以来的InstallShield版本提供了此配置选项,但在Windows Vista上仍然无法使用。

因此,不幸的是,除非提供两个软件包,否则您将无法获得听起来像Windows Vista所希望的行为。 您的单个软件包将始终(或永不)提升,因此将始终为每个人或仅将其提升到的管理帐户安装。 对于Windows 7,您应该能够使用MSIINSTALLPERUSER方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM