WiX-安装程序忽略“我的”;佩鲁塞;安装范围。为什么?
我正在尝试构建一个非常简单的安装程序,它只将包作为“每个用户”的应用程序安装。没有对话框,只是始终安装到本地应用程序数据文件夹中。它忽略了我。并始终安装到C:\Program文件 我已将InstallScope设置为“perUser”,但将安装目录保留为“ProgramFilesFolder”。文档似乎建议应该重新定向,但事实并非如此 下面是安装文件WiX-安装程序忽略“我的”;佩鲁塞;安装范围。为什么?,wix,Wix,我正在尝试构建一个非常简单的安装程序,它只将包作为“每个用户”的应用程序安装。没有对话框,只是始终安装到本地应用程序数据文件夹中。它忽略了我。并始终安装到C:\Program文件 我已将InstallScope设置为“perUser”,但将安装目录保留为“ProgramFilesFolder”。文档似乎建议应该重新定向,但事实并非如此 下面是安装文件 <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schema
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*"
Name="MyApplication"
Language="1033"
Version="1.0.0"
Manufacturer="MyCompany"
UpgradeCode="19E4E10A-558C-4D4A-BD2A-D6B8060FB917">
<Package
InstallerVersion="500"
Compressed="yes"
InstallPrivileges="limited"
InstallScope="perUser" />
<MajorUpgrade
DowngradeErrorMessage="A newer version of MyApplication is already installed." />
<MediaTemplate
EmbedCab="yes" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLDIR" Name="MyCompany MyApplication">
<Directory Id="JreFolder" Name="jre"/>
<Directory Id="LibFolder" Name="lib"/>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="MyCompany MyApplication"/>
</Directory>
</Directory>
<DirectoryRef Id="INSTALLDIR">
<Component Id="CMP_MyApplication.exe">
<File Id="FILE_MyApplication.exe" Source="MyApplication.exe" KeyPath="yes"/>
</Component>
<Component Id="CMP_MyApplication.ini">
<File Id="FILE_MyApplication.l4j.ini" Source="MyApplication.l4j.ini" KeyPath="yes"/>
</Component>
</DirectoryRef>
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="CMP_StartMenuShortcut" Guid="0B96A876-70FB-4E8E-8D27-B9B1E40C9B4D">
<Shortcut Id="ApplicationStartMenuShortcut" Name="MyCompany MyApplication" Description="MyCompany MyApplication"
Target="[#FILE_MyApplication.exe]" WorkingDirectory="INSTALLDIR"/>
<RemoveFolder Id="CleanUpShortCut" Directory="ApplicationProgramsFolder" On="uninstall"/>
<RegistryValue Root="HKCU" Key="Software\MyCompany\MyApplication" Name="Installed" Type="integer" Value="1" KeyPath="yes" />
</Component>
</DirectoryRef>
<Feature Id="MainApplication" Title="Main Application" Level="1" >
<ComponentGroupRef Id="JreGroup"/>
<ComponentGroupRef Id="LibGroup"/>
<ComponentRef Id="CMP_MyApplication.exe"/>
<ComponentRef Id="CMP_MyApplication.ini"/>
<ComponentRef Id="CMP_StartMenuShortcut"/>
</Feature>
</Product>
</Wix>
如果您知道要安装到应用程序数据文件夹,为什么要使用“ProgramFilesFolder”
这只会使您(或任何其他维护您的代码的人)感到困惑-请尝试改用“AppDataFolder”。其中提到,如果按用户安装,则应重定向“ProgramFilesFolder”?安装上下文的MSDN文档:这是MSDN文档-这并不意味着WIX的行为方式相同。例如,在WIX burn中,ProgramFilesFolder解析为CSIDL_PROGRAM_FILESX86-WIX MSIs也可能会发生这种情况()以这种方式显式指定用户配置文件需要添加一大堆无用的RemoveFile表项和注册表项。在5.0中,当在每个用户的安装上下文中时,ProgramFilesFolder应该被重定向到“Apps”,但没有。这就是问题所在。