Wix自定义操作执行命令不工作
我试图在wix安装期间执行自定义操作,但在调用自定义操作时出错。我想使用CACL将具有完全控制权的权限组“Everyone”添加到文件夹中。当我从cmd运行它时,它可以正常工作,但从安装程序运行时,它不工作。下面是wix安装日志中的错误消息 信息1721。此Windows Installer软件包有问题。无法运行完成此安装所需的程序。请与您的支持人员或软件包供应商联系。操作:SetPermissions,位置:,命令:“c:\Windows\SysWOW64\cmd.exe“cacls”c:\Program Files\Test”/g所有人:f/e 这是我在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
<CustomAction Id="SetPermissions" Property="PermissionsAction" ExeCommand="" [SystemFolder]cmd.exe" cacls "[Folder]." /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">
那太完美了谢谢,在我尝试使用自定义操作之前,我确实尝试过类似的方法,但没有包括“那太完美了谢谢”,在尝试使用自定义操作之前,我尝试过类似的方法,但没有包括