WIX更改默认安装路径

时间:2013-07-23 00:16:10

标签: wix wix3.6 wix3.7

我正在尝试将默认安装路径更改为用户的主目录/ ProductName。

以下是我的代码(不是整个代码)

<Package InstallerVersion="200" Compressed="yes" InstallScope="perUser" Description="desc" Comments="View Violations in APD" InstallPrivileges="elevated"/>

<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER"/>
<Property Id="ENVIRONMENT" Secure="yes" />
<UIRef Id="WixUI_InstallDir" />
<UIRef Id="WixUI_ErrorProgressText" />

<Fragment>
<DirectoryRef Id="INSTALLFOLDER">
  <Component Id="InstallScripts"  Guid="someGUID">        
    <File Id="file1.il" Source="$(var.ScriptsFolder)\file1.il"/>
    <File Id="file2.il" Source="$(var.ScriptsFolder)\file2.il"/>
  </Component>
</DirectoryRef>    
<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="ProgramFilesFolder">
        <Directory Id="ProgramMenuSubfolder" Name="CompanyName">
          <Directory Id="ScriptsFolder" Name="SoftwareName" />
          <Directory Id="INSTALLFOLDER" Name="SoftwareName" />

            <Component Id="Registry_FriendlyName">
                <RegistryValue Id="RegKey_FriendlyName" Root="HKCU"
                       Key="Software\Microsoft\Office\Excel\AddIns\AddIn1"
                       Name="FriendlyName"
                       Value="AddIn1"
                       Type="string" KeyPath="yes" />
            </Component>            
            <Component Id="Registry_Manifest" Guid="SomeGUID">
                <RegistryKey Root="HKCU" Key="Software\Microsoft\Office\Excel\AddIns\AddIn1" Action="create">
                    <RegistryValue Id="RegKey_Manifest" Name="Manifest" Type="string" Value="[INSTALLFOLDER]ViolationsAddIn.vsto|vstolocal" KeyPath="yes" />              
                </RegistryKey>            
            </Component>
            <Directory Id="GAC" Name="GAC">            
                <Component Id="dll_gac_Component" DiskId="1" Guid="SomeGUID">
                  <File Id="Core_dll_gac" KeyPath="yes"
                        Name="Core.dll" Source="$(var.variable1)"  Assembly=".net"></File>
                </Component>
            </Directory>
        </Directory>
    </Directory>
</Directory>

如果您看到上面的代码..现在默认路径是InstallFolder,它是SoftwareName文件夹。我在几个地方使用这个InstalFolder来复制几个文件(DirectoryRef),添加注册表值等。现在我想设置用户主目录的默认安装路径,用户可以在不破坏这些功能的情况下将其更改为其他任何内容。请帮帮我。

感谢任何帮助。

谢谢

1 个答案:

答案 0 :(得分:2)

ProgramFilesFolder外,还有许多标准system folder properties

您会注意到您指定的文件夹(用户的配置文件夹)不是Windows Installer中定义的文件夹。原因是操作系统设计人员在为每个操作系统版本创建配置文件布局时会考虑很多目标。其中之一是,当用户登录到域中的不同计算机(漫游配置文件)时,用户会希望将某些数据从计算机复制到计算机。并且,他们希望其他数据不被复制。

要在此设计下安装软件,您必须知道是否要进行漫游,然后相应地选择安装文件夹。查看AppDataFolderLocalAppDataFolder