如何在没有UAC的情况下正确使用WixAppFolder进行安装?

时间:2010-09-03 09:00:08

标签: wix

我创建了一个最小安装程序,其中“WixAppFolder”设置为“WixPerUserFolder”。应用程序安装在 HOME \ AppData \ Local \ Apps \ APPNAME按预期显示,但安装程序为每个用户和每个计算机安装显示相同的UAC提示(在普通用户下,此提示已输入“管理员密码”)。我正在使用Windows 7旗舰版64位。 “仅为您安装”的安装程序GUI说“您不需要本地管理员权限”。但事实并非如此 - 需要本地管理员权限。我做错了什么?安装程序源代码:

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <Product Id="*" Name="Test" Language="1033" Version="1.0.0"
           Manufacturer="Me"
           UpgradeCode="bb39686c-d77a-4bc4-bbd8-f13b1e0ec26c">
  <Package InstallerVersion="200" Compressed="yes" />
  <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />
    <UIRef Id="WixUI_Advanced" />
    <Property Id="ApplicationFolderName" Value="test_app" />
    <Property Id="WixAppFolder" Value="WixPerUserFolder" />
  <Directory Id="TARGETDIR" Name="SourceDir">
   <Directory Id="ProgramFilesFolder">
        <Directory Id="APPLICATIONFOLDER" Name="test_app">
          <Component Id="c_test" Guid='*'>
            <File Id='test_txt' Name="test.txt" />
          </Component>
        </Directory>
   </Directory>
  </Directory>
    <Feature Id='f_test' Title="Test" Level='1' >
      <ComponentRef Id='c_test' />
    </Feature>
  </Product>
</Wix>

2 个答案:

答案 0 :(得分:4)

首先,设置Package / @ InstallScope =“perUser”。然后,您不希望将应用程序文件夹默认为ProgramFilesFolder,因为这是每个计算机的位置(选择每个用户的位置,如LocalAppDataFolder)。在那之后,似乎事情应该有效。

答案 1 :(得分:0)

经过与Wix团队的长时间对话后,我发现了以下内容:

  1. 在Windows 7之前,Windows安装程序无法进行单个安装,无法为每个用户或每台计算机安装。
  2. UI文本是一个错误。