问题标签 [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.
wix - WiX 引导程序:卸载链中的软件包
当我触发卸载操作时:
exePackage 不会被调用。但是,在安装过程中,它会进入带有正确参数的 exe 包。
我在这里错过了什么吗?
wix - 从 Visual Studio 过渡到 Wix 安装程序
我有 Visual Studio 安装程序在 Programfiles 中安装所有内容。我已经完成了转换并创建了新的 WIX 安装程序。单独的 Wix 安装程序可以正常工作,但是当我尝试升级旧版本时,我安装了两个应用程序。
Wix 安装在 LocalAppData 中,旧的安装程序安装在 Program 文件中。我已经修复了 peruser 和 per machine 问题,但新的安装程序仍然无法升级。
wix - Wix:如何强行终止进程/任务?
从使用 Wix 创建的 MSI 运行卸载时,我需要在尝试删除任何文件之前强制终止在后台运行的进程。主应用程序包含一个托盘图标,它反映了 bg 进程监视本地 Windows 服务的状态(在 C# 上制作,尽管这可能不那么相关)。
我首先尝试了以下方法:
确认应用程序关闭对话框后托盘图标立即关闭,但卸载完成后 Foo.Exe 任务仍出现在 taskmgr 上。此外,还给出了以下错误消息:
这就是为什么,然后我尝试了这个:
得到相同结果后,尝试:
我从这里获取的示例:如何从 WiX 中终止进程
最近,当所有其他方法都失败时,我也尝试了这个但没有成功:
这给了我一个不同的错误:
我正在考虑建造一座雕像来纪念这个拒绝死亡的过程!!!...无论是那个还是认为应用程序端存在问题,我应该在其中添加类似 Application.Exit(); 或 Environment.Exit(0); 在 Program.cs 中的某行。
我可以在 Wix 或我的应用程序上做任何其他事情来尝试在卸载时成功关闭它吗?谢谢!
wix - 蜡引导程序卸载
我需要以编程方式访问引导程序的卸载位置。我需要此信息,因为在成功安装所有软件包后,需要将卸载过程中链中的软件包需要的一些文件移到此处。
我可能需要将注册表中 UninstallString 的值修改到其他位置,并将引导程序可执行文件和其他所需文件复制到该位置。这样做有什么副作用吗?
xpath - 如何在 WiX 中使用 XmlConfig 编辑元素?
如何在 WiX 3.7 中使用 XmlConfig 编辑 xml 元素的值?
我想编辑这个:
对此:
XmlConfig Name 属性的文档包括:“不设置此属性会导致设置元素的文本值。” 但我没有发现使用或省略此属性的组合会改变现有元素的值。
此示例导致异常(错误 0x80004005: failed to create child element):
忽略 Action 属性或使用 VerifyPath 和/或 Name 的组合可防止发生错误,但会导致不编辑文件或复制(不编辑)ele1 元素。
尝试在重新添加元素或根之前删除它会导致不对文件进行任何编辑。
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 文件执行此操作
wix - WiX 引导程序包执行
有没有办法获得将实际执行的包的计数/详细信息,即诸如“检测到的包:状态=存在/不存在”之类的详细信息?此信息在日志中可用,但我想在启动包执行之前或在 DetectComplete 事件之后不久在我的引导程序中获取此信息。BootstrapperApplicationData.xml 不包含此信息:(
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
.
然而,这曾经工作过。
visual-studio - 如何在 WiX 安装程序项目中引用自定义 WiX 扩展项目?
我的项目中有一个 WiX 安装程序项目和一个带有自定义 WiX 预处理器扩展的 DLL 项目。问题是 WiX Visual Studio 扩展只能将 WiX 扩展引用为 DLL,而不是 Visual Studio 项目。这个限制有什么好的解决方法,以便我可以将我的自定义扩展项目集成到构建过程中?
我已经尝试通过 Post-build 事件将扩展项目的输出复制到 WiX MSI 项目的子目录中,但是由于文件锁定问题,这会引起很大的麻烦……此外,这是一种非常骇人听闻的做法这个。我不敢相信最广泛使用的安装工具包之一不支持基本的东西!?
.net - NetFx45WebLink 和 NetFx45RedistLink 有什么区别
我使用 WiX 3.7 编写了一个引导程序,它首先安装 .net 4.5,然后是我的应用程序的 MSI:
WiX 文档说这是NetFx45Redist
一个独立的设置,而它NetFx45Web
是一个网络设置。在我构建了带有 Id 设置的引导程序之后,与我使用指定的 IdNetFx45Redist
构建它时相比,它具有相同的大小NetFx45Web
。我很好奇,所以我下载了 WiX 源代码(v3.7)。PackageGroup
我惊讶地发现这两个元素之间几乎没有区别。
DownloadUrl
forNetFx45Web
是http://go.microsoft.com/fwlink/?LinkId=225704,而forNetFx45Redist
是http://go.microsoft.com/fwlink/?LinkId=225702。根据RemotePayload\@Size
属性NetFx45Web
是1005568字节和NetFx45Redist
50352408字节。
我希望这NetFx45Redist
将在我的引导程序中包含 .net 4.5 设置,并且不需要下载。我知道那是错误的。那PackageGroup
我应该使用哪个,两个下载的 .net 4.5 安装有什么区别?