问题标签 [wix3.7]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1669 浏览

wix - 带有 StandardBootstrapperApplication 的 WiX 卸载功能

我已经为一组具有依赖关系的应用程序构建了一个非常基本的安装程序,它可以处理 .NET 包的重新启动。但是,我现在遇到的问题是卸载操作仅卸载安装程序本身,它显示在程序列表中。运行安装过程的所有其他 .exe 文件仍保持安装状态。有没有简单的方法来处理这个安装?我对 WiX 工具集还是很陌生,不想深入研究自定义安装程序。这是我的捆绑包:

我知道处理最后几个的退出代码有点骇人听闻,但我目前并不关心它,只要它不影响我的其他问题。

0 投票
1 回答
1079 浏览

wix - Does installing a file automatically register it?

I am creating an MSI installer using WiX. I have several .ocx and .dll files that must be registered on the end user's computer. Does including these files in the installation automatically register them as if the regsvr32 command had been run?

0 投票
1 回答
1451 浏览

xslt - WiX 在运行热时使子目录成为组件组

大家好,我的 WiX 同胞们,

我想知道这是否可能,如果可以,我可以去哪里学习如何做到这一点,在一个目录上运行 heat 并使该目录中的每个目录成为它自己的组件组。

例子:

  • 根目录
    • 子目录 1
      • 子子目录 1
      • 子子目录 2
      • 子目录 3
    • 子目录 2
      • 子子目录 1
      • 子子目录 2
      • 子目录 3
    • 子目录 3
      • 子子目录 1
      • 子子目录 2
      • 子目录 3

然后在 VS2010 项目的 Build Event 中运行 heat 命令(示例如下):

然后让 WXS 文件的结构如下:

如果我的问题有任何混淆,或者如果有人对我有任何其他问题,请告诉我。谢谢你,我期待收到你的来信。

编辑 使用以下 xslt 文件,我得到以下 WXS 结构:

无论我做什么,我都无法将目录创建为组件组......

0 投票
2 回答
1332 浏览

vbscript - 使用 vbscript 自定义操作返回值/取消安装

我的安装程序中有一个自定义操作,它使用 vbscript 自定义操作打开一个消息框。

如果 i = 2 的值(如果在消息框中按下取消),我想取消安装。如果我的脚本返回值 3,我想我可以取消安装,但它只返回 0。我试过这个:

这会引发一些关于“类型不匹配”的错误。

当我绝望时,我也试过这个:

我在网上进行了广泛的研究,但无法找到如何从自定义操作中取消安装,甚至无法找到如何简单地手动返回 3。

任何建议将不胜感激

0 投票
1 回答
640 浏览

wix - 发布安装事件

我正在创建一个 WiX 安装程序,并已将其配置为在用户缺少某个文件时单击“安装”时显示提示。我添加了这一行,以便将我的自定义提示链接到我的其余对话框(我的提示称为 Custom_Cancel):

如果用户缺少某个文件,当他们按下安装时,会弹出提示。如果用户想取消安装,他们按取消,如果他们想继续,他们按确定。当用户按下“确定”时,我希望开始安装,就好像用户按下了“安装”一样。

但是,现在我已经更改了安装按钮的行为以允许弹出提示,我丢失了指向“安装事件”的链接。我查看了 VerifyReadyDlg 源代码,以查找按下“安装”按钮时发布的事件,但我找不到任何东西。

我尝试了一个粗略的修复,我尝试使用 OK 按钮设置一个属性。我尝试仅在未设置此属性时才弹出提示,以便用户可以按确定,然后按“安装”,现在将开始安装。我无法让它工作。

如果我希望在单击“确定”时开始安装,有谁知道我应该触发的事件?

任何建议将不胜感激

0 投票
1 回答
3365 浏览

wix - 一个 MSI 中的两个 PathEdit 对话框(错误 2343 - 指定路径为空)

我正在创建一个 WiX 安装程序,我希望允许用户选择安装目录的路径以及数据目录。我在我的代码中添加了两个InstallDirDlg,并命名为一个Custom_Dir 和另一个Custom_DirData。

在 Custom_DirData 中,我没有使用 WIXUI_INSTALLDIR 属性,而是使用了 DATALOCATION 属性,该属性是在安装开始时在 appsearch 中设置的。

当我运行 msi 时,Custom_Dir 工作正常。但是,当我进入 Custom_DirData 对话框时,只要按浏览或下一步,就会弹出 2343 错误消息。

这是它在日志中所说的:

我可以在日志文件中看到之前设置的这些属性:

所以我不太确定它在说什么路径。以防万一您需要一些额外的信息,以下是 UI 代码中的三个相关对话框:

任何建议将不胜感激。

0 投票
1 回答
2247 浏览

wix - 使用 WiX 将文件夹安装到 ALLUSERS(不是快捷方式!)

我有一个MSI文件,它正在安装一个文件夹,里面有一堆文件。我有一个放置文件的位置:

Windows XP: C:\Documents and Settings\所有用户\Documents\MyFolder

Windows 7: C:\Users\Public\Documents\MyFolder

问题是我不想硬编码这些路径,但无论我在哪里看,我都无法找到如何做到这一点,因为无论我看哪里,他们都在谈论为所有用户创建快捷方式,这不是我想要的做。如何将文件夹安装到“所有用户”位置?

像这样的东西:

0 投票
1 回答
295 浏览

wix - 对安装类型/级别执行自定义操作

我们在 WIX 中构建了一个安装程序。安装采用两种不同的路径,其中之一包括服务安装。

该服务是用 Topshelf 编写的,因此我们需要使用自定义操作来安装它。我们无法弄清楚如何仅在特定安装类型或级别上执行自定义操作。

是我们正在做的事情。它在我们想要安装服务时工作,但在我们不安装服务时失败

0 投票
1 回答
269 浏览

wix - 参数未传递给 WiX 中的延迟自定义操作

我编写了一个示例WiX项目,其中我试图在安装时保存项目文件,然后在卸载过程中删除这些文件。我已经编写了自定义操作来实现这一点。下面是代码。

在这里,UninstallCustomAction 是删除安装目录的自定义操作。这是一个延迟操作,我正在尝试使用 SetCustomActionDataValue 自定义操作将 installFolder 路径传递给它。出于某种原因,我无法在会话的 CustomActionData 中访问这些变量。我在这里想念什么?

0 投票
1 回答
1192 浏览

wix - 复制文件不起作用

我正在创建一个 WiX 安装程序,我想将最终用户计算机上存在的文件移动到他们选择的位置。但是,CopyFile 不起作用,并且日志文件未显示任何错误。

这是我的目录树:

还有我的 CopyFile 组件:

DATALOCATION 是一个包含用户在 PathEdit 对话框中选择的路径的属性。ORIGINALDATA 是要移动的文件的原始位置。所以文件应该从 ORIGINALDATA 移动到 DATALOCATION。然而,什么都没有发生。我尝试将 ORIGINALDATA 放在 SourceDirectory 和 SourceProperty 属性中。

该组件在日志文件中显示了 3 次(不是并排显示),但我不确定如何处理这些条目:

任何建议将不胜感激。