当前位置: 首页 > 编程语言 > C#

如何在C#中解析MSI路径?分享

时间:2023-04-10 16:38:47 C#

C#中如何解析MSI路径?我需要在安装之外解析MSI数据库中的目标路径。我目前正在使用WixSDK,通过查询数据库的目录和文件表并从那里构建路径,但解析路径似乎应该已经内置了。是否有可以执行此操作的库,即使是非官方的,或者我自己坚持这样做吗?这个问题已经被问到C++,但唯一的答案不知何故误解了关于字符串的问题。我真的不介意性能。我真正关心的是解析特殊文件夹,如“.:Fonts”、“.:Windows”、“.:WinRoot”等——我仍然可以用我自己的代码来做,但不是很优雅。当DTF刚出来时,我做了同样的事情。我编写了所有查询和循环来获取我正在处理的数据。而且执行起来有点痛苦。然后我注意到Microsoft.Deployment.WindowsInstaller.Package程序集中的InstallPackage类。当我看到下面的代码在使用这个类时是多么的快速和简单时,我觉得有点傻:以上是C#学习教程:HowtoparseMSIpathinC#?所有分享的内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——usingSystem;使用Microsoft.Deployment.WindowsInstaller;使用Microsoft.Deployment.WindowsInstaller.Package;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){using(varpackage=newInstallPackage("foo.msi",DatabaseOpenMode.ReadOnly)){foreach(varfilePathinpackage.Files){Console.WriteLine(文件路径.值);}Console.WriteLine("完成");控制台.Read();}}}}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: