问题标签 [wix-extension]

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 回答
2049 浏览

wix - WiX 引导程序:卸载链中的软件包

当我触发卸载操作时:

exePackage 不会被调用。但是,在安装过程中,它会进入带有正确参数的 exe 包。

我在这里错过了什么吗?

0 投票
1 回答
77 浏览

wix - 从 Visual Studio 过渡到 Wix 安装程序

我有 Visual Studio 安装程序在 Programfiles 中安装所有内容。我已经完成了转换并创建了新的 WIX 安装程序。单独的 Wix 安装程序可以正常工作,但是当我尝试升级旧版本时,我安装了两个应用程序。

Wix 安装在 LocalAppData 中,旧的安装程序安装在 Program 文件中。我已经修复了 peruser 和 per machine 问题,但新的安装程序仍然无法升级。

0 投票
1 回答
2460 浏览

wix - Wix:如何强行终止进程/任务?

从使用 Wix 创建的 MSI 运行卸载时,我需要在尝试删除任何文件之前强制终止在后台运行的进程。主应用程序包含一个托盘图标,它反映了 bg 进程监视本地 Windows 服务的状态(在 C# 上制作,尽管这可能不那么相关)。

我首先尝试了以下方法:

确认应用程序关闭对话框后托盘图标立即关闭,但卸载完成后 Foo.Exe 任务仍出现在 taskmgr 上。此外,还给出了以下错误消息:

错误消息 #1

这就是为什么,然后我尝试了这个:

得到相同结果后,尝试:

我从这里获取的示例:如何从 WiX 中终止进程

最近,当所有其他方法都失败时,我也尝试了这个但没有成功:

这给了我一个不同的错误:

错误#2,我在这里做错了什么?

我正在考虑建造一座雕像来纪念这个拒绝死亡的过程!!!...无论是那个还是认为应用程序端存在问题,我应该在其中添加类似 Application.Exit(); 或 Environment.Exit(0); 在 Program.cs 中的某行。

我可以在 Wix 或我的应用程序上做任何其他事情来尝试在卸载时成功关闭它吗?谢谢!

0 投票
1 回答
418 浏览

wix - 蜡引导程序卸载

我需要以编程方式访问引导程序的卸载位置。我需要此信息,因为在成功安装所有软件包后,需要将卸载过程中链中的软件包需要的一些文件移到此处。

我可能需要将注册表中 UninstallString 的值修改到其他位置,并将引导程序可执行文件和其他所需文件复制到该位置。这样做有什么副作用吗?

0 投票
1 回答
2594 浏览

xpath - 如何在 WiX 中使用 XmlConfig 编辑元素?

如何在 WiX 3.7 中使用 XmlConfig 编辑 xml 元素的值?

我想编辑这个:

对此:

XmlConfig Name 属性的文档包括:“不设置此属性会导致设置元素的文本值。” 但我没有发现使用或省略此属性的组合会改变现有元素的值。

此示例导致异常(错误 0x80004005: failed to create child element):

忽略 Action 属性或使用 VerifyPath 和/或 Name 的组合可防止发生错误,但会导致不编辑文件或复制(不编辑)ele1 元素。

尝试在重新添加元素或根之前删除它会导致不对文件进行任何编辑。

0 投票
1 回答
1285 浏览

wix - WiX - 如何通过 wxs 将 dll 从一个文件夹复制到 bin 文件夹

External.dll在安装过程中,我的 ExternLiby 文件夹中有我的 dll$/ExternLib/External.dll 我希望将上述 dll 复制到我的 bin 文件夹中。请注意,我不想通过项目向此 dll 添加引用(和 copylocal)。我的要求是复制我的外部。在安装 msi 期间将 dll 复制到我的 bin 文件夹中。

这是我通过将以下内容添加到我的 wxs 安装程序文件中所尝试的。

我在这里尝试的只是在安装过程中我需要我的安装程序从 $/ExternLib/External.dll 中选择 externallib.dll 并将 dll 复制到 bin 文件夹。如何通过我的 wxs 文件执行此操作

0 投票
1 回答
233 浏览

wix - WiX 引导程序包执行

有没有办法获得将实际执行的包的计数/详细信息,即诸如“检测到的包:状态=存在/不存在”之类的详细信息?此信息在日志中可用,但我想在启动包执行之前或在 DetectComplete 事件之后不久在我的引导程序中获取此信息。BootstrapperApplicationData.xml 不包含此信息:(

0 投票
1 回答
642 浏览

wix - wix 托管引导程序:回滚失败

我的托管引导程序中有多个 EXECPackage 链接,例如:

我希望我的回滚执行卸载命令。生成的日志文件包含以下信息:

回滚:卸载。应用回滚包:Test2,操作:卸载,路径:C:\ProgramData\Package Cache\AD944C8E8D75C79F57819C331F46D15B4CFD9172\TestBatch.bat,参数:'"C:\ProgramData\Package Cache\AD944C8E8D75C79F57819C331F46D15B24TestunC6172" ][2013-06-05T14:45:10]e000:错误 0x80070003:无法在路径上创建进程:C:\ProgramData\Package Cache\AD944C8E8D75C79F57819C331F46D15B4CFD9172\TestBatch.bat [24F4:246C][2013-06-05:45 10]e000:错误0x80070003:执行EXE包失败。[1654:27A8][2013-06-05T14:45:10]e000:错误 0x80070003:无法配置每台机器的 EXE 包。

我意识到当触发回滚 ( Result.Cancel) 时,包含 Exe 包有效负载的缓存文件夹将从C:\ProgramData\Package Cache.

然而,这曾经工作过。

0 投票
1 回答
1312 浏览

visual-studio - 如何在 WiX 安装程序项目中引用自定义 WiX 扩展项目?

我的项目中有一个 WiX 安装程序项目和一个带有自定义 WiX 预处理器扩展的 DLL 项目。问题是 WiX Visual Studio 扩展只能将 WiX 扩展引用为 DLL,而不是 Visual Studio 项目。这个限制有什么好的解决方法,以便我可以将我的自定义扩展项目集成到构建过程中?

我已经尝试通过 Post-build 事件将扩展项目的输出复制到 WiX MSI 项目的子目录中,但是由于文件锁定问题,这会引起很大的麻烦……此外,这是一种非常骇人听闻的做法这个。我不敢相信最广泛使用的安装工具包之一不支持基本的东西!?

0 投票
1 回答
3580 浏览

.net - NetFx45WebLink 和 NetFx45RedistLink 有什么区别

我使用 WiX 3.7 编写了一个引导程序,它首先安装 .net 4.5,然后是我的应用程序的 MSI:

WiX 文档说这是NetFx45Redist一个独立的设置,而它NetFx45Web是一个网络设置。在我构建了带有 Id 设置的引导程序之后,与我使用指定的 IdNetFx45Redist构建它时相比,它具有相同的大小NetFx45Web。我很好奇,所以我下载了 WiX 源代码(v3.7)。PackageGroup我惊讶地发现这两个元素之间几乎没有区别。

DownloadUrlforNetFx45Webhttp://go.microsoft.com/fwlink/?LinkId=225704,而forNetFx45Redisthttp://go.microsoft.com/fwlink/?LinkId=225702。根据RemotePayload\@Size属性NetFx45Web是1005568字节和NetFx45Redist50352408字节。

我希望这NetFx45Redist将在我的引导程序中包含 .net 4.5 设置,并且不需要下载。我知道那是错误的。那PackageGroup我应该使用哪个,两个下载的 .net 4.5 安装有什么区别?