基于 WiX 的安装期间提取 SFX 时出现问题

发布于 2024-11-07 15:54:57 字数 697 浏览 5 评论 0原文

我的 WiX 项目中有以下代码

<CustomAction Id="ExtractHelp" Directory="DocFolder" Execute="commit" Impersonate="no" ExeCommand="[MYAPPINSTALLFOLDER]Doc\help_zip.exe"  />
      <InstallExecuteSequence>
           <Custom Action="ExtractHelp" Before="NativeCompilation">NOT REMOVE</custom>
      </InstallExecuteSequence>

,其中 help_zip 是我创建的 7z SFX 存档,用于捆绑我们的帮助文件并在安装过程中将它们提取到我们的 DocFolder 中。唯一的问题是,文件不断解压到 C:\Windows\SysWow64,而不是 DocFolder 指定的文件夹。有什么想法吗?

另外,help_zip.exe 驻留在 DocFolder 中,因此它甚至不需要参数即可输出到它所在的目录,至少据我所知 =\

编辑 我已将上面的代码编辑为展示我的解决方案。请注意,NativeCompilation 是我们创建的另一个操作(不是 WiX 的一部分),NOT REMOVE 是指在我们不卸载时执行该操作。

I have the following code in my WiX project

<CustomAction Id="ExtractHelp" Directory="DocFolder" Execute="commit" Impersonate="no" ExeCommand="[MYAPPINSTALLFOLDER]Doc\help_zip.exe"  />
      <InstallExecuteSequence>
           <Custom Action="ExtractHelp" Before="NativeCompilation">NOT REMOVE</custom>
      </InstallExecuteSequence>

Where help_zip is a 7z SFX archive i created to bundle up our help files and extract them in our DocFolder during install. The only issue is, the files keep extracting to C:\Windows\SysWow64, not the folder specified by DocFolder. Any ideas?

Also, help_zip.exe resides in DocFolder, so it shouldn't even need arguments to output to the directory it sits in, at least as far as I know =\

EDIT I have edited the code above to show my solution. Please note that NativeCompilation is another action we created (not a part of WiX), and NOT REMOVE refers to executing the action when we are not uninstalling.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦屿孤独相伴 2024-11-14 15:54:58

尝试设置 Directory 属性,以便您可以使用 类型 34 自定义操作(带有工作目录的 EXE)。这样您就可以决定 SFX 存档的工作目录。

Try setting the Directory attribute so you can use a type 34 custom action (EXE with working directory). This way you can decide the working directory of the SFX archive.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文