我有一个WiX脚本,它创建一个安装程序,在MicrosoftWindows7和10机器上静默安装应用程序。没有选项,因此不需要GUI。一些客户提示说,当他们启动已安装的应用程序时(在成功安装很久之后),Windows会弹出MSI安装程序消息“Windows正在配置[APPLICATION_NAME],请稍候”。他们说每次都会发生这种情况,并且它的运行时间与最初安装所花的时间差不多。我过去常常得到这个,并认为这是因为一些安装的文件已被修改。我的结论是,当MSI第二次和后续运行时,它会用安装程序中的原始文件覆盖修改后的文件。因为这些文件打算在安装后进行修改,所以我在它们的组件定义中添加了“
我们使用Wix开发了一个安装程序,在卸载我们的应用程序后,它建议我们重新启动计算机。这似乎是因为我们的应用安装了Windows服务。有什么方法可以避免重启,也许我们有一些代码可以停止服务、取消注册等? 最佳答案 您需要使用ServiceControl元素:这将:安装完成后启动服务安装和卸载时停止服务卸载时去掉服务文档是here如果您需要它们。 关于windows-wix:卸载使用服务的应用程序需要重新启动?,我们在StackOverflow上找到一个类似的问题:
我正在为包含WinUSB设备驱动程序的应用程序创建安装程序。我正在使用带有difx扩展名的WiX3.5。根据WinUSBhow-to我可以创建适用于x86、ia64和amd架构的单个inf文件。但是,对于WiXdifx扩展,我需要链接到特定于体系结构的.wixlib。那么,有没有一种方法可以创建适用于所有体系结构的安装程序,或者我是否需要3个单独的安装程序,在这种情况下不需要单个inf文件? 最佳答案 据我所知,您不能在单个安装程序中使用不同的架构difxapp合并模块或wixlib。唯一的其他选择是跳过difxapp并编写您自己的
我有一个C#应用程序和一个WiX项目,用于将此应用程序安装在ProgramFilesFolder中。我的应用程序有一个使用dll文件的查看器元素。如果我以普通用户权限启动应用程序,我会收到一个错误,并且我的应用程序中的查看器元素不会加载,并显示我的查看器元素无权访问dll文件的错误消息。作为管理员用户,它工作正常。在我的WiX项目中,我设置了属性perMachine并且我在我的应用程序中使用了其他几个dll文件,但我没有收到此类错误。如果我在ProgramFilesFolder之外安装我的应用程序,则没有问题。我应该怎么办?在VS2010中,我可以为每个文件设置BuildAction和
我有一个安装程序,它安装一个应用程序并在安装完成后立即启动这个应用程序。这对我来说很合适。但现在我想在卸载应用程序时停止该应用程序,我不希望提示用户手动关闭应用程序。这将全自动工作。我需要使用自定义操作来执行此操作,WM_CLOSE消息在我的方法中不起作用(真的,我试过几次)。我认为这不会那么困难,但我没有让它发挥作用。到目前为止我做了什么:我定义了一个CustomAction:并称它为:......但这行不通。我想我错误地安排了我的自定义操作,但我无法确定执行此操作的正确时间。对于安排自定义操作的时间/地点有什么建议吗?我很不确定Before="InstallValidate"是正确
我有一个.NET项目,它有2个通过MSMQ进行通信的组件。我正在使用Wix构建我的安装程序,因为Microsoft莫名其妙地停止了对VisualStudio2012中安装程序的支持。我对在Wix安装程序中创建MSMQ实例的过程非常满意,而且我对以下过程非常满意检测计算机上是否安装了MSMQ(通过尝试加载Mqrt.dll)。有谁知道如何使用Wix安装MSMQWindows系统组件本身?有没有办法让Wix指示Windows安装系统组件? 最佳答案 花了很长时间,但终于找到了优雅的方式来做到这一点。1)在VisualStudio中创建一个
我有Windows程序安装Bootstrap项目。链中有.NETFramework、VisualStudioC++可再发行组件、设备驱动程序安装程序和我的应用程序安装程序:我希望系统在安装.NET后重新启动,然后自动重新启动后继续安装。DotNET包组定义为:=v6.0ORVersionNT64>=v6.0)AND(NOT(Netfx4FullVersion="4.5.50709"ORNetfx4x64FullVersion="4.5.50709"))">.NETFramework安装完成后,Windows会显示其常用窗口,其中包含已打开的应用程
我有一个用于安装Windows服务的安装程序项目。此安装程序包含一个UI对话框,允许用户指定服务名称。此服务名称存储在公共(public)属性中。安装程序成功创建了具有指定名称的服务,但是当我尝试卸载它时,安装程序尝试停止并删除具有默认服务名称属性(用户未指定)的服务。我的服务安装代码如下所示:.........在用户指定服务名称后,也许我需要一些CA来更新SerciceControl表? 最佳答案 您需要保留卸载所需的任何用户提供的数据,例如将其保存到注册表。参见TheWiXtoolset's"RememberProperty
我想知道是否有人知道将使用标准visualstudio2010安装项目创建的安装项目转换为WIX项目有多容易。这个安装项目也有一个自定义操作dll。我阅读了有关Heat的信息,但不确定它的作用。 最佳答案 我会将这个过程描述为先重构再转换。例如,可能不需要您使用得很好的自定义操作。通常,CA用于执行MSInative支持的操作,例如安装Windows服务。(重新发明轮子。)我处理这样的情况:1)检查VDPROJ和自定义操作的意图。2)可能使用Dark将MSI反编译为wxs文件。3)尽可能干净地重新创作WiX。我已经做过很多次了,所以
我目前正在为我的软件创建安装程序。我决定为此使用WIX,因为我在stackoverflow上读到,虽然它的学习曲线陡峭,但它是创建.msi安装程序的最通用工具。我正在尝试创建一个非常简单的单屏安装程序,我对目前的结果很满意,但有些控件看起来确实过时了。凹陷的文本编辑与Windows10的外观和感觉并不匹配。不过,更让我困扰的是文件浏览对话框。我知道我可以更改Logo,但图标和所有内容看起来都像是来自Windows98。由于WIX似乎是创建Windows安装程序的广泛采用的选项,我认为必须有一个解决方案那里可以创建更现代的外观和感觉,但我找不到任何东西。我必须忍受过时的外观吗?如果是这样