2013-07-23 164 views
0

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

下面是我的代码(它不是整个代码)

<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),添加注册表值等。现在我想将默认安装路径设置为用户主目录,用户可以将其更改为其他任何内容而不破坏这些功能。请帮帮我。

任何帮助表示赞赏。

感谢

回答

2

除了ProgramFilesFolder,有很多标准system folder properties

您会注意到您指出的文件夹(用户的配置文件夹)不是Windows安装程序中定义的文件夹。原因在于操作系统设计人员在为每个操作系统版本创建配置文件布局时都有很多目标。其中之一是预计用户将需要从计算机复制到计算机的数据,因为他们登录到域中的不同计算机(漫游配置文件)。而且,他们会希望其他数据不被复制。

要在此设计下安装软件,您必须知道是否需要漫游,然后适当选择安装文件夹。看看AppDataFolderLocalAppDataFolder