InstallScope=";perMachine“;在wix中没有区别

InstallScope=";perMachine“;在wix中没有区别,wix,windows-installer,installation,Wix,Windows Installer,Installation,嗨,我需要我的应用程序只是在管理员模式和所有用户模式下工作。(即)它应该在所有模式下工作。 我已经在WIX中创建了安装程序,在浏览了很多次之后,我知道在软件包中设置InstallScope=“perMachine”可以使我们的应用程序在所有模式下工作。但我发现只有它在所有登录(管理员或其他用户)中的添加\删除程序下显示我们的应用程序 (ie):我可以在管理员模式下使用我的应用程序,如果我以任何用户身份登录,则我的应用程序在工作时不可见。它只显示在添加\删除程序中 我的要求是我需要我的应用程序在所

嗨,我需要我的应用程序只是在管理员模式和所有用户模式下工作。(即)它应该在所有模式下工作。 我已经在WIX中创建了安装程序,在浏览了很多次之后,我知道在软件包中设置InstallScope=“perMachine”可以使我们的应用程序在所有模式下工作。但我发现只有它在所有登录(管理员或其他用户)中的添加\删除程序下显示我们的应用程序

(ie):我可以在管理员模式下使用我的应用程序,如果我以任何用户身份登录,则我的应用程序在工作时不可见。它只显示在添加\删除程序中

我的要求是我需要我的应用程序在所有模式下工作,包括管理员、登录和所有用户。

 <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" ></Package>

甚至我也在InstallScopeDlg中尝试了allUser选项。
我需要我的应用程序应适用于包括管理员在内的所有用户

有限的用户无法更新程序文件文件夹。仅仅因为您有每台计算机安装,并不意味着Windows Installer将违反安全规则,允许有限的用户在那里写入

最有可能发生的事情是管理员成功地安装了程序文件,因为他们有这样做的特权。有限的用户无法写入程序文件,因此文件被转移,很可能是C:\ProgramData


当你对有限的用户说“应用程序不工作”时,我猜这可能是一个安全问题——它需要管理员权限,因为它试图写入/更新受限制的位置或注册表项。换句话说,如果你的应用程序将其活动限制在允许有限用户使用的范围内,那么它只能为有限用户使用。如果应用程序不工作,那么调试它-这里的任何人都不可能在没有更多信息的情况下说出它失败的原因。这是应用程序问题,不是安装问题

在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>

INSTALLDIR

您能否澄清您问题中“应用”的含义。它是指“正在安装的应用程序”,还是指“安装程序包”?您使用的是哪个版本的WIX?实际使用的是WIX 3.8。。!!应用程序已安装且其设置是由WIX完成的这意味着“我的应用程序不可见”是什么意思?以及“工作时不可见”?你是说你已经安装了它并且。。。你看不到文件吗?你看不到快捷方式?@PhilDW yes excatly..看不到文件,也不能使用。实际上这是软件的加载项。再次,你需要提供更多详细信息,但听起来你的安装程序安装到了一个有限用户没有写访问权的位置。例如,如果您安装到ProgramFiles,它可能会以C:\ProgramData结尾。@dahsra,当然不要忘记将Files.wxs中的regsitry键指定为
HKLM
,这意味着本地机器。请告诉我,如果我们设置这个@dahsra,它使Wix安装程序知道您希望为所有用户(每台机器)安装。@dahsra,这是另一个问题。我在这里回答你在这里提出的问题。请投票。我去看看。