我已经在这方面工作了好几天,而我还没有得到自定义操作如何与Wix一起工作的概念。或者至少我不知道如何做我想做的事。
我有几个XML文件,我想从中读取一个值,并填充一个在UI对话框中显示的属性。然后,当安装开始在另一个XML文件中更新该值时。
我需要能够传递文件名,包括本地XML文件的路径和要搜索的节点以及要提取的键值对。我还需要传递需要更新的属性。
我理解CustomAction DLL概念。而session.CustomActionData [" parametername"]语法用于传入参数。会话[" property"] =设置属性。
但是我无法弄清楚wsx代码的语法来实现这一切。我用不同的方式阅读不同的例子吗?
我搜索了那里的所有Google链接,似乎没有什么能符合我想做的事情?
答案 0 :(得分:0)
您希望这是一个直接的自定义操作,而不是延迟的自定义操作,因此CustomActionData与您无关。
我要做的是写一个这样的自定义表:
我[PK] 文件(格式化) XPATH 属性
以下是一个例子: MYSEARCH [SOMEPROPERTY] / test [@' test'](类似的东西,我讨厌xpath) myProperty的
您可以使用Property / FileSearch之类的东西让MSI的AppSearch解析文件的位置并将其分配给[SOMEPROPERTY]。然后编写一个在AppSearch之后安排的自定义操作来获取此表的数据,迭代它并获取每行的属性值(或元素innertext)并将其分配给MYPROPERTY。
InstallShield免费提供给我。我不认为WiX有一个内置的扩展来做到这一点。也许那里有社区扩展。我可能需要一个小时才能在C#/ DTF中编写一个这样的原型。