Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Wixsharp外部UI(WPF)安装路径_C#_Wpf_Windows Installer_Wixsharp - Fatal编程技术网

C# Wixsharp外部UI(WPF)安装路径

C# Wixsharp外部UI(WPF)安装路径,c#,wpf,windows-installer,wixsharp,C#,Wpf,Windows Installer,Wixsharp,我一直在为我的安装程序开发外部UI,它是用WixSharp生成的。 WixSharp示例库提供了一个关于如何创建WPF外部UI的非常好的示例,但我不理解如何提示用户更改我的应用程序的安装路径。显然,我有一个从GenericSetup派生的Setup类,当调用base.StartInstall()方法时,我可以将一个参数传递给我的MSI文件。但我如何才能从MSI中获取安装目录,以便首先向用户显示它呢?其实很简单。MSI本质上是一个数据库,我们可以读取它。WixSharp提供整洁的MsiParser

我一直在为我的安装程序开发外部UI,它是用WixSharp生成的。
WixSharp示例库提供了一个关于如何创建WPF外部UI的非常好的示例,但我不理解如何提示用户更改我的应用程序的安装路径。显然,我有一个从GenericSetup派生的Setup类,当调用
base.StartInstall()
方法时,我可以将一个参数传递给我的MSI文件。但我如何才能从MSI中获取安装目录,以便首先向用户显示它呢?

其实很简单。MSI本质上是一个数据库,我们可以读取它。WixSharp提供整洁的
MsiParser
类,可以读取存储在MSI中的一些属性。 它可以这样使用:

var msi = new MsiParser(MsiFile);
var dir = msi.GetDirectoryPath("INSTALLDIR");
这个问题最初是由Oleg Shilo在