WiX工具集(以前称为Windows Installer XML)是一个工具集,可以从XML源代码构建Windows安装包和WiX引导程序。该工具集支持一个命令行环境,开发人员可以将其集成到他们的构建过程中,以构建MSI和MSM安装程序包以及EXE引导程序。对于基于云的Web开发平台,请使用[wixcode]标记。
我希望在我的 wix 网站上关于我的按钮“#button5”有以下条件: 标准颜色:白色; 当用户在页面(联系人)上时,按钮颜色会改变...
是否可以安排从 Windows 注册表读取值? 我有一个 CustomAction,需要在读取注册表值并将其保存到属性之前执行。我正在尝试...
如何添加仅在卸载时发生的 WiX 自定义操作(通过 MSI)?
我想修改 MSI 安装程序(通过 WiX 创建)以在卸载时删除整个目录。 我了解 WiX 中的“RemoveFile”和“RemoveFolder”选项,但这些选项不够强大...
我创建了一个安装文件,其中包含在存储在二进制表中的 dll 中定义的各种 C++ 自定义操作。 这些自定义操作在 InstallExecuteSequence 中起作用,但在我中不起作用...
使用 WiX ExeCommand 重新启动 Windows 服务的自定义调度程序
我到底可以在哪里添加自定义操作来安排我的 Windows 服务的任务,使其每晚凌晨 3 点运行,以便使用 wix 重新启动。下面是我在 ComponentsGenerate.wxs 中的代码 我到底可以在哪里添加自定义操作来安排我的 Windows 服务每晚凌晨 3 点运行以使用 wix 重新启动任务。下面是我在 ComponentsGenerate.wxs 中的代码 产品:Multisoil App(64 位)-- 错误 1722。 是Windows安装程序包。作为安装一部分运行的程序未按预期完成。请联系您的支持人员或软件包供应商。操作 CreateScheduledTask,位置:C:,命令:C:\WINDOWS\SysWOW64\schtasks.exe /Create /SC DAILY /TN RestartService /TR "net stop BundleMultiSoil && net start BundleMultiSoil" /ST 03:00 /RU SYSTEM 服务之前安装得很好。只是无法自定义操作。不明白我做错了什么。 ExeCommand 不是批处理文件。它是一个可执行文件,并且是命令行。 && 正在传递给 schedtask 操作,并且可能不是有效的命令行参数。使用 cmd.exe 会被解释为一个新命令...但那是因为 cmd 解释整个字符串。
在c#中使用wix重新启动Windows服务的自定义调度程序
我到底可以在哪里添加自定义操作来安排我的 Windows 服务的任务,使其每晚凌晨 3 点运行,以便使用 wix 重新启动。下面是我在 ComponentsGenerate.wxs 中的代码 我到底可以在哪里添加自定义操作来安排我的 Windows 服务每晚凌晨 3 点运行以使用 wix 重新启动任务。下面是我在 ComponentsGenerate.wxs 中的代码 产品:Multisoil App(64 位)-- 错误 1722。 是Windows安装程序包。作为安装一部分运行的程序未按预期完成。请联系您的支持人员或软件包供应商。操作 CreateScheduledTask,位置:C:,命令:C:\WINDOWS\SysWOW64\schtasks.exe /Create /SC DAILY /TN RestartService /TR "net stop BundleMultiSoil && net start BundleMultiSoil" /ST 03:00 /RU SYSTEM 服务之前安装得很好。只是无法自定义操作。不明白我做错了什么。 ExeCommand 不是批处理文件。它是一个可执行文件,并且是命令行。 && 正在传递给 schedtask 操作,并且可能不是有效的命令行参数。使用 cmd.exe 会被解释为一个新命令...但那是因为 cmd 解释整个字符串。
WiX v4 工具集:运行自定义批处理脚本并将输出数据存储到变量
我目前正在探索 WiX v4,在我的场景中面临一个小挑战。 我的场景: 我开发了一个 Windows 服务的安装程序。在安装此服务之前,我需要
我在Wix3.11中做了一个小安装,想法是运行欢迎对话框,然后许可证,然后准备。 使用以下代码,我可以从欢迎对话框转到就绪对话框并返回,b...
我有一个适用于我的 WPF 应用程序的 MSI 安装程序。通常它是通过 AzureDevops 管道构建和部署的,但自 4 月 8 日以来就失败了。我认为值得注意的是:没有代码更改......
我们正在使用 mcr.microsoft.com/dotnet/sdk:6.0 构建 .csproj 我们还需要构建一个 .wixproj 但 dotnet 构建为我们提供了 wix.exe:错误 WIX0001:System.DllNotFoundException:无法加载...
WiX v4 未检测到版本、升级代码和主要升级看似设置正确的升级
在当前状态下,我的 WiX 安装程序有一个捆绑项目,带有标准引导程序应用程序,引用单个 MSI 项目。 运行并安装捆绑包后,我会更改版本...
在 WiX 工具集升级过程中更改安装范围时收到“写入文件时出错”信息
我最近升级了使用 WiX Toolset 4 创建的应用程序安装程序。在旧版本中,我没有指定范围,而在新版本中,我将范围设置为“perUser”到所有人...
我正在为 am Office COM Addin Dll 编写一个 wix4 捆绑安装程序,它需要在 HKCR 中编写一堆注册表项(对于机器来说也是如此)来注册 Dll,然后在 HKCU 中编写一些注册表项来...
我正在尝试使用以下 XML 在 WiX 中创建用户: 我正在尝试使用以下 XML 在 WiX 中创建用户: <Component Id="cmp_MyNewFolder" Guid="*"> <util:User Id="MyNewUser" CreateUser="yes" Name="DUMMY_USER" Domain="[ComputerName]" Password="" PasswordNeverExpires="yes" RemoveOnUninstall="yes" UpdateIfExists="yes" /> <CreateFolder> <util:PermissionEx GenericAll="yes" User="DUMMY_USER"/> </CreateFolder> </Component> 我已经删除了这篇文章的 GUID 和密码,所以问题不在于这些。问题是,每当我运行 .MSI 时,都会收到一般错误(无法创建用户)并且安装失败。稍微研究一下 XML 后,我发现为用户提供的名称中包含下划线会导致错误。我尝试过使用字符文字和 XML 实体作为下划线,但无论哪种方式都是相同的结果。 令我困惑的是(根据我所读到的内容)下划线不被认为是特殊字符,并且我已经能够手动创建此用户(使用下划线),没有任何问题。是否可以使用 WiX 创建名称中包含下划线的用户?还是我必须接受不同的角色? 用户名中允许使用下划线。此代码有效并且安装包正确创建了用户。 <Component Id="Component_User" Guid="{1B55F3FB-6B0F-4EF9-89ED-DB3ECA9106A4}"> <util:User Id="MyNewUser" CreateUser="yes" Name="test_user" Password="test" PasswordNeverExpires="yes" RemoveOnUninstall="yes" UpdateIfExists="yes" /> <CreateFolder> <util:PermissionEx GenericAll="yes" User="test_user"/> </CreateFolder> </Component> 详细日志可能包含有关错误的更多信息。 错误 0x80070563 (-2147023517) 是 ERROR_ALIAS_EXISTS(指定的本地组已存在。)当您尝试创建用户,但同名的用户组(或其他 AD 对象?)已存在时,会发生此情况。 我认为您的安装程序没有任何问题。名称中的下划线没有什么特别的。问题似乎是运行安装程序的计算机上已存在的用户组(或其他 AD 对象)。安装程序正在尝试创建用户,但由于冲突而无法创建。 我在使用 WiX Toolset v3 时遇到了此错误。我的密码字段中有标点符号,即使它们有效,也会导致安装失败。可能的错误。
我需要创建安装程序,该安装程序创建新的本地用户、新文件夹并授予该用户完全权限。 我通过 Visual Studio 2010 和 Wix 3.10 使用新的 wix 项目创建了下面的小测试: ...
有人使用 WiX Toolset v5.0.0-rc.1 吗?
我安装了Firegiant Heat Extension,然后使用以下命令将wix更新到最新版本 dotnet 工具安装 --global wix --version 5.0.0-rc.1 所以我将 Wix MSI 项目从版本 4.0.4 更改为 5.0.0-rc.1...
WinAPI / WIX - 如何检测 MSI 安装程序是否在 ARM64 或 x86 上运行?
我正在更新现有安装程序,并希望当操作系统在 ARM64 上运行时安装特定的 ARM64 二进制文件。 我正在使用 WIX 3.11(我知道有点旧)来创建安装程序。自定义操作...
我是Wix新手,我成功为我的项目创建了一个MSI安装程序,但是我的Bin文件夹有很多带有EXE主文件的DLL文件,我想将所有这些文件包含在安装程序中 我发现了这个
Wix:错误 LGHT0091:找到重复的符号“属性:WIX_IS_NETFRAMEWORK_472_OR_LATER_INSTALLED”
我刚刚开始使用 MS 托管代理在 Azure Devops 管道中收到此错误。我没有做任何代码更改,它才刚刚开始发生。 错误 LGHT0091:重复符号“属性: