嗨我需要我的应用程序只是在管理员模式和所有用户模式下工作。(即)它应该在所有模式下工作。 我已经在 WIX 中创建了设置,在浏览了很多之后我才知道在包中设置 InstallScope =" perMachine" 会使我们的应用程序在所有模式。但我发现只有它在所有登录(管理员或其他用户)的添加\删除程序下显示我们的应用程序。
(即):我能够以管理员模式运行我的应用程序,如果我以任何用户身份登录,那么我的应用程序无法正常工作。它只会出现在添加\删除程序。
我的要求是我需要我的应用程序在所有模式,管理员,登录,所有用户中工作。
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" ></Package>
即使我在InstallScopeDlg中尝试了allUser选项。 我需要我的应用程序应该适用于包括管理员在内的所有用户
答案 0 :(得分:4)
在Setup.wxs文件中添加以下行
<Property Id="ALLUSERS" Value="1"></Property>
该文件应如下所示:
<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*"
Name="programName"
Language="1033"
Version="1.0.0.0"
UpgradeCode="183CC369-D86F-43B3-99E7-A82A16335E52"
Manufacturer="CompanyName">
<Package Description="#Description"
Comments="Comments"
InstallerVersion="200"
Compressed="yes"/>
<!--
Source media for the installation.
Specifies a single cab file to be embedded in the installer's .msi.
-->
<Media Id="1" Cabinet="contents.cab" EmbedCab="yes" CompressionLevel="high"/>
<!-- Installation directory and files are defined in Files.wxs -->
<Directory Id="TARGETDIR" Name="SourceDir"/>
<Feature Id="Complete"
Title="programName"
Description="programName"
Level="1">
<ComponentRef Id="programNameFiles"/>
<ComponentRef Id="programNameRegEntries"/>
</Feature>
<!--
Using the Wix UI library
WixUI_InstallDir does not allow the user to choose
features but adds a dialog to let the user choose a
directory where the product will be installed
-->
<Property Id="WIXUI_INSTALLDIR">INSTALLDIR</Property>
<Property Id="ALLUSERS" Value="1"></Property>
<UIRef Id="WixUI_InstallDir"/>
</Product>
答案 1 :(得分:1)
受限用户无法更新Program Files文件夹。仅仅因为您安装了每台机器并不意味着Windows Installer会通过允许有限的用户在那里写入来违反安全规则!
最可能发生的事情是管理员成功安装到Program Files,因为他们有权这样做。有限的用户无法写入Program Files,因此文件被转移,最有可能是C:\ ProgramData
如果对有限的用户说“该应用程序无法运行”,我猜它可能是一个安全问题 - 它需要管理员权限,因为它尝试编写/更新受限制的位置或注册表项。换句话说,如果您的应用将其活动限制为允许限制用户使用的活动,那么您的应用仅适用于受限用户。如果应用程序无法正常工作,那么就调试它 - 这里的任何人都不可能在没有更多信息的情况下说出它失败的原因。这是一个应用程序问题,而不是安装问题。