Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix-根据权限更改安装文件夹_Wix_Wix3 - Fatal编程技术网

Wix-根据权限更改安装文件夹

Wix-根据权限更改安装文件夹,wix,wix3,Wix,Wix3,我必须使用Wix创建一个安装包。如果管理员用户正在安装该软件包,则应将其安装到%programfiles%/[applicationName],如果该用户是非管理员用户,则应将其安装到其本地配置文件文件夹(LocalAppDataFolder)中 这是怎么可能的?我很久以前就写过这篇文章了。这个解决方案看起来很像这样(您提供了一个名为“ApplicationFolderName”的属性): 已安装或(ACTION=“ADMIN”和TARGETDIR“”) 未安装 未安装,ACTION=“IN

我必须使用Wix创建一个安装包。如果管理员用户正在安装该软件包,则应将其安装到%programfiles%/[applicationName],如果该用户是非管理员用户,则应将其安装到其本地配置文件文件夹(LocalAppDataFolder)中

这是怎么可能的?

我很久以前就写过这篇文章了。这个解决方案看起来很像这样(您提供了一个名为“ApplicationFolderName”的属性):


已安装或(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>