Wix-根据权限更改安装文件夹
我必须使用Wix创建一个安装包。如果管理员用户正在安装该软件包,则应将其安装到%programfiles%/[applicationName],如果该用户是非管理员用户,则应将其安装到其本地配置文件文件夹(LocalAppDataFolder)中 这是怎么可能的?我很久以前就写过这篇文章了。这个解决方案看起来很像这样(您提供了一个名为“ApplicationFolderName”的属性):Wix-根据权限更改安装文件夹,wix,wix3,Wix,Wix3,我必须使用Wix创建一个安装包。如果管理员用户正在安装该软件包,则应将其安装到%programfiles%/[applicationName],如果该用户是非管理员用户,则应将其安装到其本地配置文件文件夹(LocalAppDataFolder)中 这是怎么可能的?我很久以前就写过这篇文章了。这个解决方案看起来很像这样(您提供了一个名为“ApplicationFolderName”的属性): 已安装或(ACTION=“ADMIN”和TARGETDIR“”) 未安装 未安装,ACTION=“IN
已安装或(ACTION=“ADMIN”和TARGETDIR“”)
未安装
未安装,ACTION=“INSTALL”和A=”“和(ALLUSERS=1或(ALLUSERS=2和特权))
未安装且ACTION=“INSTALL”和A=”“和(ALLUSERS=”“或(ALLUSERS=2和(非特权))
按以下方式重写ProgramFilesFolder属性应该有效:
<SetProperty Id="ProgramFilesFolder" Value="[AppDataFolder]" Before="CostFinalize"><![CDATA[ NOT Privileged]]></SetProperty>
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="INSTALLDIR" Name="My Folder">
...
</Directory>
</Directory>
...
将属性设置为2。另请参见
<SetProperty Id="ProgramFilesFolder" Value="[AppDataFolder]" Before="CostFinalize"><![CDATA[ NOT Privileged]]></SetProperty>
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="INSTALLDIR" Name="My Folder">
...
</Directory>
</Directory>