WIX设置perUser或perMachine取决于当前用户

WIX设置perUser或perMachine取决于当前用户,wix,Wix,我是WIX的新手。如果当前用户在本地管理员组(不是runAsAdmin)中,则需要将Installscope设置为perUser,否则需要设置为perMachine 我知道alluser=“2”和msinstallperuser=“1 |{}”,但我无法在wix决定如何运行之前动态设置它们-作为perUser或perMachine 我使用CustomAction来检测当前用户是否在Administrators组中,并设置ALLUSERS和MSInstallPerUser,放入InstallExe

我是WIX的新手。如果当前用户在本地管理员组(不是runAsAdmin)中,则需要将Installscope设置为perUser,否则需要设置为perMachine 我知道alluser=“2”msinstallperuser=“1 |{}”,但我无法在wix决定如何运行之前动态设置它们-作为perUser或perMachine 我使用CustomAction来检测当前用户是否在Administrators组中,并设置ALLUSERSMSInstallPerUser,放入InstallExecuteSeSequence,但此操作总是在wix决定后运行 如何实现根据当前用户和管理组动态设置InstallScope的此属性? 我的样本WIX

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Id="*" Name="SetupProject1" Language="1033" Version="1.0.0.0" Manufacturer="rrr" UpgradeCode="3664d946-e6b5-468f-8154-0506308d85ab">
    <Package InstallerVersion="200" Compressed="yes"  >
    </Package>

    <Binary Id="CustomActionBinary" SourceFile="$(var.CustomAction1.TargetDir)$(var.CustomAction1.TargetName).CA.dll"/>
    <CustomAction Id="SampleAction" BinaryKey="CustomActionBinary" DllEntry="CustomAction1" Execute="immediate" Return="check"/>

    <InstallExecuteSequence>
      <Custom Action='SampleAction' Before='SetProps'/>
    </InstallExecuteSequence>

    </Product>
</Wix>

内部SetPropsALLUSERS和MSIINSTALLPERUSER设置为2和1 但是安装程序是通过UAC调用运行的(由于perMachine

问题已经解决。 我在InstallUISequence中使用自定义操作