wix – 如何运行具有提升权限的自定义可执行文件?

前端之家收集整理的这篇文章主要介绍了wix – 如何运行具有提升权限的自定义可执行文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要运行可执行文件进行自定义安装/拆卸,安装后和卸载之前.它需要以提升的权限运行.如何正确执行?
看看这个 blog在如何创建需要管理权限的自定义操作的部分

另一个link真的解释了所有类型的自定义操作.
CustomAction元素在Wix.

这应该有助于您.

看完您的解决方案后,您似乎正在做一个Type 18 CustomAction,在这里我粘贴了以前的博客内容

自定义动作类型18
调用在当前会话期间随应用程序一起安装的可执行文件.
CustomAction表中的“源”列包含“文件”表中记录的键.

CustomAction表中的“目标”列包含可执行文件的命令行字符串.
所有返回处理,执行调度和脚本执行选项都适用.

因为文件与应用程序一起安装,所以有自定义操作的排序限制类型18:

If the source file is not already installed on the computer:
    Custom action must be sequenced after CostFinalize action because only after this action path to the file can be resolved.
If the source file is not already installed on the computer:
    Deferred custom actions of this type must be sequenced after the InstallFiles action.
    Non-deferred custom actions of this type must be sequenced after the InstallFinalize action.

自定义操作的入口点接收到安装会话的句柄.在执行延迟自定义操作期间,会话可能不再存在.要获取属性的值,请使用CustomActionData属性.

以下是如何在Wix中添加类型18自定义操作:

<Directory Id="TARGETDIR" Name="SourceDir">
  <Component Id="Component1"
             Guid="{A77C5B06-132D-4884-8E17-EA10A83C812D}">
    <File Id="MyCA" Name="MyCA.exe" />
  </Component>
</Directory>

<CustomAction Id="DoSomething"
              FileKey="MyCA"
              ExeCommand="-switch"
              Execute="deferred"
              Return="check"
              HideTarget="no"
              Impersonate="no" />

<InstallExecuteSequence>
  <Custom Action="DoSomething" Before="InstallFinalize" />
</InstallExecuteSequence>

首先,我们将MyCA.exe添加文件表.

我们还向CustomAction表添加了类型18的自定义操作. FileKey属性指向具有自定义操作dll的元素. ExeCommand属性指定可执行文件的命令行字符串.

最后一件事是在所有需要的顺序表中安排我们的自定义操作.

这应该可以帮助您排除缺失的内容,但我强烈建议您查看所有类型的自定义操作,以便稍后在制作更多安装程序时帮助您

猜你在找的Windows相关文章