非管理员用户应该有能力安装应用程序 这就是我将InstallScope安装到" perUser"默认情况下 但有时管理员应该有能力为每台机器安装此应用程序,并且所有用户都应该可以访问同一个应用程序 是否可以按用户或每台机器安装相同的应用程序? 例如,取决于某些命令行属性?
我使用以下wxs来构建我的测试msi包:
<Package Id="*" InstallScope="perUser"
InstallPrivileges="limited"
InstallerVersion="100"
Keywords="Installer"
Description="TestApp Installer"
Compressed="yes"/>
<MediaTemplate EmbedCab="yes"/>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="LocalAppDataFolder" Name="AppData">
<Directory Id="INSTALLDIR" Name="TestApp">
<Component Id="app.exe" Guid="AD5A8A90-7137-4F71-ABC5-A75D98CA0290">
<File Id="app.exe" Source="..\server\app.exe" />
<RemoveFolder Id="TestApp" On="uninstall" />
<RegistryKey Root="HKCU" Key="Software\TestManufactorer\TestApp">
<RegistryValue Name="app.exe" Value="1" KeyPath="yes" Type="integer" />
</RegistryKey>
</Component>
</Directory>
</Directory>
</Directory>
<Feature Id="Complete" Title="TestApp" Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR">
<Feature Id="MainProgram" Title="Program" Description="The main executable." Level="1">
<ComponentRef Id="app.exe" />
</Feature>
</Feature>
</Product>
</Wix>
如果可以为每个用户或每台机器安装相同的应用程序 - 在此示例中应该更改哪些应用程序?
答案 0 :(得分:1)
这是为了回答一个更广泛的未说出口的问题。 :)
这是关于主题的$ .02:
在做这件事之前,请考虑很长时间。
每用户安装非常难以管理。 (Rule 30: Per-machine Installs are Easier to Manage)
因为为每个用户安装了每台机器包,所以有 后续修复,修补和卸载的问题更少。对于 例如,如果用户仅为自己安装应用程序, 另一个用户(甚至是管理员)以后无法卸载 应用
我在企业IT环境中工作,自动化软件部署和按用户安装的软件只会破坏所有内容。这种部署模式适用于“病毒式”病毒。 (社交传播)用户安装软件而无需管理员权限的应用程序。你猜怎么着?我们不想要的!我们尽一切可能摆脱用户安装的软件。
唯一受益于每用户/每台机器软件的人是那些拥有商业计划的公司,这些商业计划希望通过社交机制打乱市场,然后“成长”#34;成为支持每台机器的企业应用程序。其中一个例子是Google Chrome。
这是你吗?然后阅读下面的链接并进行操作。您必须将其转换为WiX架构。如果没有,请不要这样做。只需使用Per-Machine,让您的生活更轻松。
Authoring a single package for Per-User or Per-Machine Installation context in Windows 7