使用 wix 安装程序,当用户在编辑框中输入内容时安装时我如何在设置过程中覆盖配置文件

Posted

技术标签:

【中文标题】使用 wix 安装程序,当用户在编辑框中输入内容时安装时我如何在设置过程中覆盖配置文件【英文标题】:using wix installer, while installing when a user enters something in a edit box how do i overwrite the config file during the setup 【发布时间】:2016-04-26 07:08:17 【问题描述】:

我想使用 Windows 安装程序创建安装程序 我是初学者 我在其中创建了一个对话框和一个编辑框。

使用 WIX 3.7 安装我的文件后,我想更改我的一个配置文件中的一些值

在设置过程中使用编辑框中的给定字符串覆盖配置文件

【问题讨论】:

配置文件是 XML 还是其他? 它们不是 xml 文件 这可能是一个开始:***.com/questions/14518786/… 是的,谢谢,我已经看到了,我的疑问是如何发送安装时在编辑框中输入的值。转cpp文件或c#文件 【参考方案1】:

编辑对话框中的值与具有大写 ID 的属性相关联(假设您指的是 WiX 对话框/编辑框)。您应该在您的 WiX 中将该属性声明为 Secure=yes,以便它在整个安装过程中是公开的。

要将值写入文件,您需要延迟自定义操作,这与此相关:

How to pass CustomActionData to a CustomAction using WiX?

这不是唯一的解决方案。根据您的应用程序及其对配置文件的使用,可能会有更简单的方法,例如将值写入注册表(根本不需要代码)并让您的应用程序使用该值作为配置文件值的覆盖。或者拥有一个用户之后运行的配置实用程序来输入值,这具有更容易构建和测试的优点,并允许用户以有效的方式更改值。

【讨论】:

以上是关于使用 wix 安装程序,当用户在编辑框中输入内容时安装时我如何在设置过程中覆盖配置文件的主要内容,如果未能解决你的问题,请参考以下文章

如何获取用户在安装 WIX 设置时输入的属性值?

部署时 WIX MSI 应用程序未在用户帐户下启动应用程序

在卸载期间提示用户关闭应用程序(在 WiX 中)

WiX ScheduleReboot 不遵守条件

从 Visual Studio 过渡到 Wix 安装程序

恢复到以前版本的 wix 安装程序