问题标签 [wix3.9]
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 - 在我的烧录引导程序中打包 .Net 可再发行组件
我正在尝试按照此页面上的说明将可再发行的 .Net 4.5.2 打包到我的刻录应用程序中。
但它无法在临时刻录位置找到文件。
根据日志烧录尝试在这里找到文件:
但该文件实际上最终在一个临时文件夹中
例如。
说明说要这样做:
如何让 Burn 在 .net 安装程序的正确位置查找?
batch-file - 在 Wix 中安装 msi 后自动运行 .bat 文件
在 Wix 中安装 .msi 后,我需要运行一个 .bat 文件。我从 Wix 安装项目创建了这个 .msi。
在 .bat 文件中,我编写了脚本来编辑 etc/hosts 文件并根据我的应用程序需要将一些字体安装到 Windows 机器中。
请帮我解决我的问题。谢谢。
sql-server - WiX 工具集 - 如何确定 SQL Server 数据路径
我尝试了几种方法。这是我最近的尝试,它不起作用,但应该有助于说明我想要做什么。
注意:我对 GetSQLServerInstalledInstance Id 的假设是它将返回一个实例。
我的目标是找到安装在机器上的 SQL Server 实例的 DATA 目录路径,该机器也将安装我的公司产品。
最后,我正在寻找包含此路径的 SQL_SERVER_FILE_PATH 属性。(例如 C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA)
同样重要的是,调用是按顺序排列的,后续调用可以包含从先前调用中派生的信息。
我对 WiX 还是很陌生,但是如果 SetProperty 元素允许 RegistrySearch 子元素设置它的值,我可以想象如何很容易地做到这一点。这是否可以通过一系列 CustomAction 来处理,该序列的行为类似于允许 RegistrySearch 子元素设置其值的 SetProperty 元素?
谢谢
wix - Wix 工具集安装 C++ 2010 Redistributable
我可以通过 Wix 工具集将 Microsoft Visual C++ 2010 可再发行组件的安装与我的安装包集成在一起吗?
我使用自定义操作尝试了此操作,但如果正在进行另一个安装,则不会安装。有人会对如何做到这一点有任何建议吗?
另外,还有一个问题:我可以在我正在创建的这个 MSI 安装程序中调用一个 MSI 安装程序吗?
wix - 无法让 Wix heat.exe 工作
我目前正在将 wix 与 Visual Studio 2013 结合使用。芽有一些东西我似乎没有开始工作。我正在构建一个安装程序(.MSI),这意味着我需要向其中添加文件,当然我不想手动完成,所以我正在尝试使用 heat.exe,因为到目前为止,它还没有成功。
我尝试了以下方法:我创建了一个指向文件位置的系统变量。我将该系统变量放入命令中,如 Wix 文档中所述:
我在预构建命令行中插入了这个命令,我也选择了抑制 ICE 验证。当我构建项目时它返回错误 9009,我无法弄清楚问题的原因或问题,所以我按照 youtube 上的教程进行操作。
在该教程中,使用了另一个命令:
在视频中,它被简化为:
当我使用这些更改构建项目时,它返回两个错误:
- startindex 不允许大于字符数组的长度。
- 命令“commando ...”以代码 1 退出。
第一个错误对我来说是个谜,第二个错误有大量可能导致此错误的潜在问题。
我真的很挣扎,我对 Wix 的了解几乎是 0,因为我是第一次使用它,而且我的程序技能远远不足以自己解决它。
链接到视频的人有兴趣。
提前致谢。
c# - 使用 c#(DTF) 中的产品代码卸载 MSI 时遇到的问题
我正在创建一个 CustomBA,它将替换现有的安装屏蔽 Bootstrapper(我真的不知道它叫什么)。
我们正在安装与 install shield 使用相同数量的 MSI,所以这没有问题。ARP 中的所有 MSI 条目都被删除,因为我们正在使 MSI 的 Visible="no"。
ARP 中只有 Custom BA 条目和 Install shield Bootstrapper 条目可用,两者具有相同的名称。
因此,经过一番研究,我了解到 Windows Installer XML (WiX) 将 Microsoft.Deployment.WindowsInstaller 互操作库作为部署工具基础 (DTF) 的一部分提供,可用于卸载 MSI。
我正在使用以下代码卸载 MSI。
我面临的问题如下所述
首先,我必须以管理员身份运行 CustomBA 来卸载现有的 MSI,否则它会抛出错误“错误 1730。您必须是管理员才能删除此应用程序。”。有没有办法在没有管理员的情况下运行 CustomBA 并卸载 MSI。
卸载时(当我以管理员身份运行 customBA 时),上面提到的代码也删除了它的链包,我不希望它这样做。
运行卸载代码后,它不会从 ARP 中删除 MSI 条目。
我找到了这些链接,但我不知道它是否相关: https ://stackoverflow.com/questions/17523974/how-to-uninstall-msi-using-its-product-code-in-c-sharp 检查成功卸载
wix - Wix 不包含 .MSI 中的任何文件
我正在尝试在我的 WIX 安装程序中添加文件,但目前它没有这样做。我盯着它看了好几个小时,我只是看不出可能是什么问题。引用似乎和目标位置一样工作正常。安装程序运行良好,直到它当然需要安装文件。
这也是我使用热量做出的部分参考资料:
ComponentGroupRef 和它们连接的 Fragment 当前尚未使用,并且对程序没有影响(本示例中忽略了 Fragments)
谁能看到我可能做错了什么或遗漏了什么?提前致谢,
wix - WiX Web 安装程序和独立安装程序都应该出现在添加/删除程序中吗?
我们有两个使用我们自己的 BA 的 WiX 安装程序。一个安装程序从 Web 获取所有包,而另一个安装程序从 exe 获取所有包。我们称它们为“Web”和“Full”安装程序。
我们有一种情况,用户可能会从 Web 安装程序安装一个包,而从完整安装程序安装另一个包。它可能不会经常发生,但它可能会发生。当用户这样做时,我们在“添加/删除程序”控制面板中有两个条目。由于我们没有以不同的方式命名安装程序,因此安装程序似乎安装了两次。
我的问题是,如果使用 WiX 创建的两个安装程序之间的唯一区别是获取软件包的方式,那么它不应该只在添加/删除程序中出现一次吗?我是否需要在某处设置代码以说明它是同一个安装程序?
我想我们可以将它们命名为不同的名称,以便“Web”和“Full”安装程序出现在“添加/删除程序”中,但是当您运行其中任何一个时,两个软件包都会显示为卸载,因为两个安装程序都知道它们。它不像网络安装程序只显示通过它安装的包和通过它安装的完整包。
任何意见表示赞赏。
build - 使用 NANT XmlPoke 更改 Wix 产品版本号
我最近遇到了这个问题 - 当我尝试使用NANT XMLPOKE任务替换 Wix 产品版本号时,它返回以下错误消息“未找到匹配节点”。
最初我认为这是我编写的 XPATH 语句的问题。所以我不断尝试使用不同的 XPATH(如 \Wix),并且不断收到相同的消息。
从博客中了解到,这是由于使用 WiX 元素的命名空间定义而发生的。请在下面找到解决方案,以防有人找不到该博客。
wix - WIX - 在已安装文件夹中创建卸载快捷方式
我正在使用 Wix 3.9 和 Wix-edit 0.7.5/Notepad++ 为我的应用程序创建 MSI 安装程序。我想在已安装的文件夹中创建一个卸载快捷方式。例如:
我尝试了一些事情,但在所有情况下,当我通过该链接卸载软件时,程序文件夹C:\MySoftware
都不会被删除。以其他方式卸载按预期工作。
首先,我尝试将其创建为<Directory>
标签内的组件。在我看来有点 hacky,因为我必须添加<CreateFolder>
:
我也尝试用 替换<CreateFolder/>
,<RemoveFolder Id="MYINSTALLDIR" On="uninstall" />
结果相同。
另一个尝试:
在这里,除了具有相同的结果外,我在构建时收到警告:file.wxs(31) : warning LGHT1076 : ICE57: Component 'StartMenuShortcuts' has both per-user and per-machine data with an HKCU Registry KeyPath.
。
如何创建可以在不影响卸载行为的情况下使用的快捷方式?我不知道它是否有区别,但我需要它在没有管理员权限的情况下工作(我正在使用<Package ... InstallScope="perUser" InstallPrivileges="limited">
)。
我知道我可以创建一个 .lnk 文件并将其添加到项目中,但我不想这样做,因为那样我就不得不担心在每个项目上更新它的 GUID。