C#学习教程:如何在C#中解析MSI路径?分享


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

我需要在安装之外的MSI数据库中解析目标路径。 我目前正在使用Wix SDK,通过查询数据库的目录和文件表并从那里构建路径,但解析路径似乎应该已经内置了。 是否有一个图书馆可以做到这一点,即使是非正式的东西,还是我坚持自己做这件事?

这个问题已经被要求用于C ++,但唯一的答案在某种程度上误解了关于字符串的问题。

我真的不介意表现。 我真正关心的是解析特殊文件夹,如“。:字体”,“。:Windows”,“。:WinRoot”等 – 我仍然可以在我自己的代码中完成,但不是很优雅。

我做了同样的事情,你在DTF刚出现时做了。 我写了所有的查询和循环来获取我正在为之工作的数据。 而且表现有点痛苦。

然后我注意到Microsoft.Deployment.WindowsInstaller.Package程序集中的InstallPackage类。 当我看到以下代码使用该类时有多快和简单时,我觉得有点傻:

上述就是C#学习教程:如何在C#中解析MSI路径?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

using System; using Microsoft.Deployment.WindowsInstaller; using Microsoft.Deployment.WindowsInstaller.Package; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { using (var package = new InstallPackage("foo.msi", DatabaseOpenMode.ReadOnly)) { foreach (var filePath in package.Files) { Console.WriteLine(filePath.Value); } Console.WriteLine("Finished"); Console.Read(); } } } } 

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1252542.html

(0)
上一篇 6天前
下一篇 6天前

精彩推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注