如何在C#中的installerclass中获取msi路径

时间:2011-08-25 09:57:15

标签: c# windows-installer managedinstallerclass

我想知道msi所在的路径InstallerClass,我在设置中用作自定义操作。

我尝试在path中使用SrcDirContext.Parameters等属性,但这些值不存在(引发NullReferenceException)。是否有任何其他方式获得该路径或任何理由为什么这些值为空???

由于

2 个答案:

答案 0 :(得分:6)

您需要通过VS中的属性窗口传递操作数据中的相关属性:

/sourceDir="[SourceDir]\"

然后,使用上下文来检索它:

string path = Context.Parameters["SourceDir"];

答案 1 :(得分:0)

安装程序类有许多限制,并且在失败时(脆弱)表现得很差。我建议您使用Windows Installer XML(WiX)中的部署工具基础(DTF)查看C#托管自定义操作。此项目类型的输出是C ++ equiv,可以由Visual Studio安装和部署项目使用(我也不会建议使用它。)