草庐IT

windows - 在用户提示 "close manually"之前卸载时 WiX 调用应用程序

我有一个安装程序,它安装一个应用程序并在安装完成后立即启动这个应用程序。这对我来说很合适。但现在我想在卸载应用程序时停止该应用程序,我不希望提示用户手动关闭应用程序。这将全自动工作。我需要使用自定义操作来执行此操作,WM_CLOSE消息在我的方法中不起作用(真的,我试过几次)。我认为这不会那么困难,但我没有让它发挥作用。到目前为止我做了什么:我定义了一个CustomAction:并称它为:......但这行不通。我想我错误地安排了我的自定义操作,但我无法确定执行此操作的正确时间。对于安排自定义操作的时间/地点有什么建议吗?我很不确定Before="InstallValidate"是正确

windows - Wix:安装 MSMQ 组件

我有一个.NET项目,它有2个通过MSMQ进行通信的组件。我正在使用Wix构建我的安装程序,因为Microsoft莫名其妙地停止了对VisualStudio2012中安装程序的支持。我对在Wix安装程序中创建MSMQ实例的过程非常满意,而且我对以下过程非常满意检测计算机上是否安装了MSMQ(通过尝试加载Mqrt.dll)。有谁知道如何使用Wix安装MSMQWindows系统组件本身?有没有办法让Wix指示Windows安装系统组件? 最佳答案 花了很长时间,但终于找到了优雅的方式来做到这一点。1)在VisualStudio中创建一个

windows - WiX bundle 安装强制重启详细信息

我有Windows程序安装Bootstrap项目。链中有.NETFramework、VisualStudioC++可再发行组件、设备驱动程序安装程序和我的应用程序安装程序:我希望系统在安装.NET后重新启动,然后自动重新启动后继续安装。DotNET包组定义为:=v6.0ORVersionNT64>=v6.0)AND(NOT(Netfx4FullVersion="4.5.50709"ORNetfx4x64FullVersion="4.5.50709"))">.NETFramework安装完成后,Windows会显示其常用窗口,其中包含已打开的应用程

windows - Wix:使用用户指定的服务名称安装 Windows 服务

我有一个用于安装Windows服务的安装程序项目。此安装程序包含一个UI对话框,允许用户指定服务名称。此服务名称存储在公共(public)属性中。安装程序成功创建了具有指定名称的服务,但是当我尝试卸载它时,安装程​​序尝试停止并删除具有默认服务名称属性(用户未指定)的服务。我的服务安装代码如下所示:.........在用户指定服务名称后,也许我需要一些CA来更新SerciceControl表? 最佳答案 您需要保留卸载所需的任何用户提供的数据,例如将其保存到注册表。参见TheWiXtoolset's"RememberProperty

windows - 将 visual studio 安装项目转换为 WIX

我想知道是否有人知道将使用标准visualstudio2010安装项目创建的安装项目转换为WIX项目有多容易。这个安装项目也有一个自定义操作dll。我阅读了有关Heat的信息,但不确定它的作用。 最佳答案 我会将这个过程描述为先重构再转换。例如,可能不需要您使用得很好的自定义操作。通常,CA用于执行MSInative支持的操作,例如安装Windows服务。(重新发明轮子。)我处理这样的情况:1)检查VDPROJ和自定义操作的意图。2)可能使用Dark将MSI反编译为wxs文件。3)尽可能干净地重新创作WiX。我已经做过很多次了,所以

windows - 具有现代外观和感觉的 WIX 安装程序

我目前正在为我的软件创建安装程序。我决定为此使用WIX,因为我在stackoverflow上读到,虽然它的学习曲线陡峭,但它是创建.msi安装程序的最通用工具。我正在尝试创建一个非常简单的单屏安装程序,我对目前的结果很满意,但有些控件看起来确实过时了。凹陷的文本编辑与Windows10的外观和感觉并不匹配。不过,更让我困扰的是文件浏览对话框。我知道我可以更改Logo,但图标和所有内容看起来都像是来自Windows98。由于WIX似乎是创建Windows安装程序的广泛采用的选项,我认为必须有一个解决方案那里可以创建更现代的外观和感觉,但我找不到任何东西。我必须忍受过时的外观吗?如果是这样

windows - 使用 WiX 在单个 MSI 中注册 32 位和 64 位 DLL

我需要创建一个单一的Windows安装程序,当它在目标m/c上运行时执行以下任务:运行服务注册一个32位DLL将32位和64位log4cxx.dll库存储在C:\Windows\sysWoW64文件夹和C:\Windows\system32注册一个64位DLL目前,我正在使用WiX创建安装程序,我现在可以注册32位或64位安装程序,但不能同时注册。不幸的是,我没有分离32位和64位安装程序的选项,因为我需要在64位机器上注册这两个安装程序。我想知道是否有办法在一个安装程序中注册这两个DLL。提前致谢。 最佳答案 WiX不支持混合的3

windows - WiX Bootstrapper 在退出时运行可执行文件

我正在使用WiX(3.6)BurnBootstrap将必备组件(Bonjour)与我的程序设置捆绑在一起。它工作得很好,但是:我想在结束时添加一个步骤,在退出时从我的INSTALLDIR运行可执行文件。我很难弄明白这一点。我试过:但不知道将它放在我的Burn的bundlewxs文件中的什么位置。任何指针?谢谢!编辑:我也尝试过放置以下内容:在我的应用程序安装程序MSI的末尾,但是当它集成到BurnBootstrap安装中时,这一行似乎没有被执行。 最佳答案 回答:将以下内容添加到您的元素中(我在BootstrapApplicatio

windows - 使用 Visual Studio 集成的 WiX 托管自定义操作中没有调试信息

我已经成功地使用MakeSfxCA在C#中创建了一个自定义操作,这在很大程度上是有效的。但是,有一些问题需要调试才能解决。(“printf-debugging”还不够。)但是所有调试信息都丢失了。当从VisualStudio项目调用MakeSfxCA时,.pdb文件未作为参数传递,因此创建的CA-dll中不包含调试信息。如果我手动运行MakeSfxCAMakeSfxCAMyDLL.CA.dllSfxCa.dllMyDLL.dllMyDLL.pdbCustomAction.config然后调试信息包含在创建的自定义操作dll中。如何让WiX-CA-project自动添加pdb-info?

windows - Wix 项目模板在安装后没有出现在 VS2012 中

我已经安装了WiX3.7以在VS2012中创建安装程序。但是WiX项目模板不会出现在VS2012专业版中。我尝试了网络上可用的一些分辨率,但没有结果。我该如何解决这个问题? 最佳答案 我不确定您在Wix项目模板中指的是什么,但是有EXE文件和MSI文件的模板。和别的。这是我的VS2012+wix3.7照片。顺便说一句,它很好用。 关于windows-Wix项目模板在安装后没有出现在VS2012中,我们在StackOverflow上找到一个类似的问题: http