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_Custom Action - Fatal编程技术网

Wix自定义操作执行命令不工作

Wix自定义操作执行命令不工作,wix,custom-action,Wix,Custom Action,我试图在wix安装期间执行自定义操作,但在调用自定义操作时出错。我想使用CACL将具有完全控制权的权限组“Everyone”添加到文件夹中。当我从cmd运行它时,它可以正常工作,但从安装程序运行时,它不工作。下面是wix安装日志中的错误消息 信息1721。此Windows Installer软件包有问题。无法运行完成此安装所需的程序。请与您的支持人员或软件包供应商联系。操作:SetPermissions,位置:,命令:“c:\Windows\SysWOW64\cmd.exe“cacls”c:\P

我试图在wix安装期间执行自定义操作,但在调用自定义操作时出错。我想使用CACL将具有完全控制权的权限组“Everyone”添加到文件夹中。当我从cmd运行它时,它可以正常工作,但从安装程序运行时,它不工作。下面是wix安装日志中的错误消息

信息1721。此Windows Installer软件包有问题。无法运行完成此安装所需的程序。请与您的支持人员或软件包供应商联系。操作:SetPermissions,位置:,命令:“c:\Windows\SysWOW64\cmd.exe“cacls”c:\Program Files\Test”/g所有人:f/e

这是我在wix文件中的自定义操作

<CustomAction Id="SetPermissions" Property="PermissionsAction" ExeCommand="&quot;   [SystemFolder]cmd.exe&quot; cacls &quot;[Folder].&quot; /g everyone:f /e" Execute="immediate" Return="ignore"  />
<CustomAction Id="PermissionsAction" BinaryKey="WixCA" DllEntry="CAQuietExec"   Execute="deferred" Return="ignore" Impersonate="no"/>
<InstallExecuteSequence>
  <Custom Action="SetPortalDataPermissions" Before="InstallFinalize">
  </Custom>
</InstallExecuteSequence>

您可以在Wix中执行您想执行的操作,而无需自定义操作:

<CreateFolder Directory="DirectoryToSetPermissions">
 <util:PermissionEx User="Everyone" GenericAll="yes" />
</CreateFolder>

要使用Util扩展名,您必须添加对WixUtilExtension程序集的引用,并将UtilExtension命名空间添加到wsx文件上的Wix标记,如下所示:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">

您可以在Wix中执行您想执行的操作,而无需自定义操作:

<CreateFolder Directory="DirectoryToSetPermissions">
 <util:PermissionEx User="Everyone" GenericAll="yes" />
</CreateFolder>

要使用Util扩展名,您必须添加对WixUtilExtension程序集的引用,并将UtilExtension命名空间添加到wsx文件上的Wix标记,如下所示:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">


那太完美了谢谢,在我尝试使用自定义操作之前,我确实尝试过类似的方法,但没有包括“那太完美了谢谢”,在尝试使用自定义操作之前,我尝试过类似的方法,但没有包括