WiX工具集(以前称为Windows Installer XML)是一个工具集,可以从XML源代码构建Windows安装包和WiX引导程序。该工具集支持一个命令行环境,开发人员可以将其集成到他们的构建过程中,以构建MSI和MSM安装程序包以及EXE引导程序。对于基于云的Web开发平台,请使用[wixcode]标记。
嗨,我有旧的 VS Wix v3 项目 InstallerWix.wixproj。 我需要将其升级到版本 4 然后是版本 5 Wix 我的项目看起来像这样(https://i.sstatic.net/yk62wbr0.png) 我尝试升级...
Windows 安装程序从下载文件夹调用 msiexec.exe
我有一个使用 WiX burn 构建的 Windows 安装程序。当我尝试通过单击 .exe 文件夹来安装应用程序时,它会在应用程序安装程序所在的目录中搜索 msiexec.exe...
我在论坛上浏览过类似的问题,但没有找到解决我的问题的方法。 我尝试使用自定义操作调用 dpinst 并收到错误:“错误 1721。出现问题
Windows 安装从下载文件夹调用 msiexec.exe
我有一个使用 WiX burn 构建的 Windows 安装程序。当我尝试通过单击 .exe 文件夹来安装应用程序时,它会在应用程序安装程序所在的目录中搜索 msiexec.exe...
我有一个包含 2 个 MSI、一个引导程序和我的 CA 库的 wix 项目。我想运行第一个 MSI,它会提示用户安装为后续 MSI 设置的文件。根据用户的选择...
无法加载文件或程序集System.Memory,版本=4.0.1.1,文化=中性,
TL;博士 我的任务是将 Office 加载项 (VSTO) 安装程序从 Windows Installer 迁移到 WiX。 像往常一样,我创建了一个 WiX 项目(HearWave),将所有项目文件添加到
WiX/MSI:将标准输出重定向到文件,键入 50 自定义操作
我有一个 WiX 安装程序,全部配置为运行 SqlPackage.exe,以将一些已安装的 .dacpac 打包的 SQL 应用程序部署到数据库。实际上按如下方式部署数据库文件就会成功: ...
首先,感谢您的出色工作。我一生都无法弄清楚为什么我无法在 WixSharp 中编译单个自定义操作。这是一个非常精简的代码示例,...
我有一个捆绑安装程序,它安装了我的两个 msi 软件包和两个第三方安装程序。对于第三方安装程序rabbitmq,我想设置环境变量 RABBITMQ_NODE_PORT 但我...
我正在使用 WiX Toolset 5,我需要检测计算机上安装的 .NET 版本。我有代码可以从注册表中提取该值: 软件 \dotnet\Setup\InstalledVersions\x64\sharedhost 但是
跳过项目“SetupWix.wixproj”的恢复。项目文件可能无效或缺少恢复所需的目标 (NU1503)
我们使用 Wixtoolset V3.9 来构建我们的设置。我们使用以下命令来开始构建: “C:\Program Files (x86)\Microsoft Visual Studio�9\Enterprise\MSBuild\Current\Bin\msbuild.exe”/re...
尽管设置了代码页,但仍保留数据库代码页中不可用的字符的字符串
我在VS2012中有一个Wix安装程序项目,上次我使用它时(大约一周前)它编译得很好。 我今天回去发现了大约 15 个代码页错误: 错误 6 提供了字符串
在我的wix中我使用以下声明: 在我的 wix 中,我使用以下声明: <ComponentGroup Id="BinComponents" Directory="BIN"> <Component Id="BinComponent" Guid="23D229D0-06EE-49f4-80B4-6D7136500721"> <File Id="MyProjectOutput" Name="MyProject.exe" Source="MyProject\bin\MyProject.exe"/> <ServiceControl Id="RemoveService" Stop="both" Remove="both" Name="MyProject.exe" Wait="yes" /> <!-- Stop running MyProject instances --> </Component> </ComponentGroup> 我的重现: 首先,我像往常一样运行安装。安装后,我启动我的网络应用程序。 .exe 像往常一样出现在任务管理器中: 我想在修复、更新或卸载时结束此 .exe。所以我再次启动我的 .msi 并选择修复: 现在我的问题:按“修复”后,由于声明的ServiceControl,我预计会出现以下对话框: 但事实并非如此。相反,会出现以下对话框: 当我记录设置时,日志显示以下行: MSI (s) (A8:DC) [10:16:28:227]: Executing op: ActionStart(Name=StopServices,Description=Stopping services,Template=Service: [1]) Action 10:16:28: StopServices. Stopping services MSI (s) (A8:DC) [10:16:28:228]: Executing op: ProgressTotal(Total=1,Type=1,ByteEquivalent=1300000) MSI (s) (A8:DC) [10:16:28:228]: Executing op: ServiceControl(,Name=MyProject.exe,Action=2,Wait=1,) MSI (s) (A8:DC) [10:16:28:228]: Executing op: ActionStart(Name=DeleteServices,Description=Deleting services,Template=Service: [1]) Action 10:16:28: DeleteServices. Deleting services MSI (s) (A8:DC) [10:16:28:228]: Executing op: ProgressTotal(Total=1,Type=1,ByteEquivalent=1300000) MSI (s) (A8:DC) [10:16:28:229]: Executing op: ServiceControl(,Name=MyProject.exe,Action=8,Wait=1,) MSI (s) (A8:DC) [10:16:28:229]: Executing op: ActionStart(Name=InstallFiles,Description=Copying new files,Template=File: [1], Directory: [9], Size: [6]) [...] MSI (s) (7C:28) [09:06:21:950]: RESTART MANAGER: Did detect that a critical application holds file[s] in use, so a reboot will be necessary. MSI (s) (7C:28) [09:06:21:950]: Note: 1: 1610 MSI (s) (7C:28) [09:06:21:950]: Note: 1: 2205 2: 3: Error MSI (s) (7C:28) [09:06:21:950]: Note: 1: 2228 2: 3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1610 在修复旁边,我还尝试了更新,结果相同。 也许缺少任何声明? 注意:当我在任务管理器中关闭 MyApp.exe 时,不会出现该消息,因此问题肯定是 MyApp.exe 造成的。 您看到的警告对话框来自“InstallValidate”标准操作。 我过去也遇到过类似的问题。对于相同的服务 id,我通过使用单个服务控制元素而不是多个服务控制元素来修复它。 就我而言,同一个服务 ID 有多个服务控制元素。 这是根据链接 http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Upgrade-uninstall-restart-issue-td7586315.html 这对我有用。许多用户报告了相同的行为,尽管没有正式记录。 具有单个服务控制元素会使重新启动管理器记录服务控制表中的条目,并将阻止重新启动管理器在 RMFilesInUse 对话框中列出该服务,或者将阻止重新启动管理器 避免抛出警告消息,通知用户可能需要重新启动。 这是另外一个链接 无法使用 WiX 启动 Windows 服务 我的实验表明,服务控制元素的数量和重新启动管理器之间存在明确的联系 http://microsoft.public.windows.msi.narkive.com/OOuQQAsw/controlling-restart-manager-behaviour 另一个选项是使用属性 RESTARTMANAGERCONTROL 完全禁用重新启动管理器,如果您禁用 RestartManager,系统可能会提示您重新启动(您可能想测试一次),并且旧版“正在使用的文件”机制将启动。禁用重新启动管理器是相关 msi 开发人员的明智决定,有时是必要的。 我不确定您的服务控制表是什么样子。只是想与您分享我的经验。 希望有帮助。 问候, 基兰·赫格德 您应该将整个日志发布到某处。根本原因是修复不应该经常需要替换文件。因此,如果您确实安装了产品,运行了 exe,然后需要修复来替换文件,那么问题不在于文件使用对话框 - 而是安装的产品已损坏,因此所需的文件或注册表项已被删除。已删除。应用程序事件日志应包含描述丢失组件的 MsiInstaller 条目。因此,首先看看根本原因。 修复后,修复需要替换文件的情况应该很少见,因此可能不值得担心。但您可以考虑将您的应用程序与重新启动管理器集成或使用 WiX util CloseApplication。 进入cdrive 打开程序文件 检查顶部菜单中的视图选项可用 然后有一个名为 MONGODb 的文件 删除它 再次安装现在就可以安装了。
我有以下问题: 我有一个自定义的延迟操作,它应该运行 powershell 命令,但它无法解析 SetProperty 元素的 value 属性中给出的属性。 我...
DisplayInternalUICondition 无法正常工作 Wix 4
我将Wix Bootstrapper项目升级到WIX 4.0.0。我在显示内部用户界面时遇到问题。唯一的问题是卸载应用程序时。我想要 msi 包的内部 UI,而不是...
我将当前的安装程序从 wix 3 升级到 wix 5,现在我的自定义对话框显示错误: “LiecenseAgreementDlg 的打印按钮没有在 ControlEvent 表中定义事件。...
我正在使用 wix 为我的 x64 应用程序编写安装程序。所以 wxs 看起来像这样: 我正在使用 wix 为我的 x64 应用程序编写安装程序。所以 wxs 看起来像这样: <Package Id="*" Platform="x64" ... 我正在和 candle 一起跑步 -arch x64。但是,我需要编写一个注册表项来与Software\WOW6432Node\MyCompany\MyKey下的32位应用程序进行通信,所以我有一个像这样的组件: <Component Id="SomeId" Guid="SomeGUID"> <RegistryKey Root="HKLM" Key="Software\WOW6432Node\MyCompany\MyKey"> ... 安装似乎一切正常。但是,当我卸载时,注册表项不会被删除。我怀疑这不是在 Software\WOW6432Node 下添加注册表项的正确方法。我在 SO 和 Google 上的搜索还没有产生任何结果。有什么建议吗?谢谢。 WiXRegistryKey 元素文档: https://wixtoolset.org/documentation/manual/v3/xsd/wix/registrykey.html 描述 用于组织子RegistryValue元素或创建注册表项(并可选择在卸载期间将其删除)。 ForceDeleteOnUninstall YesNoType 将此属性设置为“yes”,以便在卸载父组件时删除该键及其所有值和子键。请注意,仅当您的程序在此项下创建其他值或子项并且您希望卸载以删除它们时,此值才有用。 MSI 已经删除了它创建的所有值和子项,因此此选项只会增加卸载的额外开销。默认为“否”。 要考虑的另一件事是,只有在移除组件时才会发生这种情况。 记录卸载将为您提供有关正在发生的情况的更多信息。 Wixtoolset中的简单代码 <RemoveRegistryKey Root="HKCU" Action="removeOnUninstall" Key="Software\Broadsoft\DesktopAlertingClient" />
如何为 WPF 应用程序开发和使用 CommonApplicationData 特殊文件夹
我有一个在本地存储资源文件的WPF应用程序。应用程序启动时运行的进程使用资源文件来保持最新状态。资源文件经常更新...
将 AWS RDS 数据库连接到 WIX Velo 但出现错误消息:访问数据库被拒绝 - 可能有错误的凭据
我一直在按照 Wix Velo 教程将 Amazon RDS 数据库连接到 Wix,但收到以下消息: 连接状态 访问数据库被拒绝 - 可能是错误的凭据...
我正在使用 Wix 3.11.1 和 VS2017 扩展。我从自定义对话上的控件设置属性,然后尝试立即执行自定义操作。当我尝试阅读会话时,它总是......