jjzjj

c# - 通过 XPath 在任意深度选择 XML 节点

有一个XML文档,我想获取具有特定名称的第一个节点,无论它包含在哪个嵌套深度。我尝试了几件事都没有成功:varnode1=doc.SelectSingleNode(@"//Shortcut");varnode2=doc.SelectSingleNode(@"/*/Shortcut");varnode3=doc.SelectSingleNode(@"//*/Shortcut");varnode4=doc.SelectSingleNode(@"*/Shortcut");...每次调用都会产生一个NULL节点。我认为它应该是一些琐碎的XPath语法。你能帮帮我吗?(如果这很重要:XML文档是

xml - 如何使用wix项目部署app.config

我需要使用WIX创建安装项目,还需要使用我的Windows应用程序部署app.config文件。因此我将我的app.config添加为product.wxs中的一个组件,如下所示:一旦我运行msi应用程序安装成功但app.configxml文件变得不可读并且由于这个问题应用程序运行失败。如何解决这个问题?。我是WIX的新手 最佳答案 当您构建代码时,app.config将重命名为[ApplicationName].exe.config并将位于您的构建输出目录中。这是您应该收集的文件,因为它可能已作为构建过程的一部分进行了转换。如果您

xml - 使用 XSLT 转换 Heat 生成的 .wxs(添加 RegistryValue 并编辑一些值)

这是我想要的输出:这是我的XSLT文件:no这是我使用该XSL的输出:一旦我激活XSL中的文件更改不会应用,例如添加前缀、将key路径更改为否,如果我删除添加注册表的文件更改,文件更改就像一个魅力!我做错了什么?感谢任何帮助,谢谢。更新:这是未经转换的原始XML示例: 最佳答案 你说:AssoonasiactivateTheFilechangesthatareinXSLarenotappliedlikeaddaprefix,changekeypathtono,ifiremovetheonethataddstheregistrythe

xml - WIX 实用程序 :xmlfile File name is Source attribute

我正在从WiseInstaller迁移到WIX,并使用util:xmlfile更新配置xml文件。这有效。这是行不通的。当.msi与第一个组件一起执行时,一切正常。在第二个版本中,返回错误“Error25531.FailedtoopenXMLfile...”据我所知,唯一的区别是文件名中的连字符。有什么不同的建议吗? 最佳答案 尝试使用组件的ID而不是硬编码名称[#config]//whichwillrefertotheFileId代替[INSTALLDIR]prod-config.xml

xml - 如何在 Wix 中读取 app.config 值和设置属性

我有一个.NET程序,我已经为其编写了Wix安装程序。我希望能够从Wix之前的版本进行更新。为此,我想从已安装程序的app.config文件中读取。这将使用户不​​必手动重新键入所有这些值。有没有办法做到这一点?谢谢! 最佳答案 MSI或WiX目前都没有内置支持读取xml文件,只能写入。您必须编写一个自定义操作来读取其中的值。(扩展AppsSearch)除此之外,我强烈建议您遵循此处描述的模式并将其改编为XML而不是注册表:http://robmensching.com/blog/posts/2010/5/2/The-WiX-too

xml - 将 xml 值读入 Wix 的属性

在我的应用程序安装程序中,我想从xml文件中读取用于登录数据库的凭据。有什么办法可以做到这一点。如果我必须使用自定义操作,我将如何将返回值分配给属性? 最佳答案 WiX没有内置的Xml读取模式,只有Xml写入。您必须编写一个自定义操作来完成此操作。顺便说一句,由于WindowsInstaller中的ActiveScript托管问题,VBScript不是一个好的解决方案。 关于xml-将xml值读入Wix的属性,我们在StackOverflow上找到一个类似的问题:

xml - 通过应用 xslt 转换从 wxs 文件中删除不需要的节点

我正在尝试通过应用xml转换来清理由heat.exe生成的wxs文件。下面是heat.exe的示例文件输出。我想删除Component节点,其子File节点的Source属性包含字符串“ABC”。我知道如何使用正确的匹配模式找到此类节点。因此,在删除Component节点之前,我想存储组件的Id,然后使用它来删除具有我刚刚记录的Id的ComponentRef节点。有没有一种方法可以通过XML转换来实现这一点?我想我正在寻找可以创建变量的东西,比如“X”来存储我删除的组件节点的ID,并使用“X”来查找要删除的ComponentRef节点。 最佳答案

c# - 如何将自定义操作添加到 Wix 安装项目

我的解决方案中有2个项目:1).自定义Action类(CustomAction)2).Wix安装项目(TestSetup)CustomAction项目中有CustomAction.cs:usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Text;usingMicrosoft.Deployment.WindowsInstaller;namespaceCustomAction{publicclassCustomActions{[CustomAction]public

xml - WiX XmlConfig : Purpose for nesting XmlConfig in XmlConfig

将XmlConfig元素嵌套在另一个XmlConfig中的目的和/或收获是什么(除了增加创建/删除属性的可读性)>元素?我所指的示例(我使用的是WiX3.6): 最佳答案 简短的回答:嵌套选项的唯一目的elements是为了能够以更具可读性的方式向新创建的元素添加/删除属性。所以,这基本上就是您的假设。考虑以下初始XML文件:为了添加另一个为此,可以使用以下WiX代码段:因此,XML文件最终如下所示:这里有几点需要注意:Action无法在内部定义属性XmlConfig元素,这是合乎逻辑的-它与父元素之一相同Node也不能定义属性,因

xml - WiX Unresolved 引用错误

我使用的是Wix版本3.0.5419.0。我有两个.wxs文件,一个是片段,另一个使用片段创建.msi文件。这是使用片段的文件(DaisyFarmer.wxs):我引用的片段是(Scheduler.wxs):然后我运行以下命令:candle-extWixUtilExtension-extWiXNetFxExtensionDaisyFarmer.wxsScheduler.wxslight-sice:ICE20-extWixUtilExtension-extWiXNetFxExtensionScheduler.wixobjDaisyFarmer.wixobj-outDaisyFarmer.