Wix:将分号设置为 CustomActionData

标签 wix custom-action

我在将包含分号的数据设置为 CustomActionData 属性时遇到问题。
默认情况下,CustomActionData 类使用分号作为 DataSeparator,当它包含分号时,它会破坏我的数据。
除了用 come 关键字替换它们之外,有没有办法将分号放在 CustomActionData 中?

最佳答案

要在您的 CustomActionData 中传递一个分号,您应该再添加一个分号。

示例:

CustomActionData="key1=value1;key2=value2.1;;value2.2;;value2.3"- 这将传递 key1=value1 和 key2=value2.1;value2.2;value2.3

如果您不知道分号在哪里,那么我想您可以通过用两个分号替换每个分号来创建转义它们的方法。

如果有更多您不知道如何转义的符号,您可以轻松找到创建一个简单的应用程序来创建 CustomActionData 实例,添加一个键值对并使用 ToString() 输出 CustomActionData 字符串表示。

示例:

CustomActionData data = new CustomActionData();
data.Add("key1", "value1");
data.Add("key2", "value2.1;value2.2;value2.3");

Console.WriteLine(data.ToString());

我希望这些信息有帮助。

关于Wix:将分号设置为 CustomActionData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5579777/

相关文章:

c# - 安装程序自定义操作问题 - 无法写入注册码

wix - 如何在 FeaturesDlg 之后获得 InstallDirDlg

unicode - 无法使用自定义操作将 MSI 安装到用户名中包含非 ascii 字符的非管理员

c# - 解决 'configuration object is read only, because it has been committed by a call to ServerManager.CommitChanges()'?

wix - VS2010 中没有任何 CustomActionAttribute

windows-installer - 安装程序更改 PATH 变量,命令外壳中不显示更改

wix - 从 WiX 设置项目引用在 WiX 库项目中定义的 WixVariable

xml - WiX - 如何仅在 XML 元素尚不存在时添加它

msbuild - 什么会导致 MSIExec 错误 1619 'This installation package could not be opened'

c++ - WiX Bootstrapper - 难以检测软件是否已安装 C++ 可再发行组件、SQL Server Compact 3.5 SP2