C# 如何获取自定义操作的路径文件安装程序

C# 如何获取自定义操作的路径文件安装程序,c#,windows-installer,C#,Windows Installer,我在创建安装文件时遇到问题。我有项目winform,在生成解决方案后,我有2个文件setup.exe和SetupXinvitroAC.msi,包含在文件夹中: E:\Data\Progamming\DotNET\xinivitroac\Code\SetupXinvitroAC\Debug。然后我将文件Drivers.exe复制到同一文件夹 我转到自定义操作查看器,并选择自定义操作的属性。然后输入以下内容作为CustomActionData参数: /TARGETDIR=“[TARGETDIR]”

我在创建安装文件时遇到问题。我有项目winform,在生成解决方案后,我有2个文件setup.exe和SetupXinvitroAC.msi,包含在文件夹中:

E:\Data\Progamming\DotNET\xinivitroac\Code\SetupXinvitroAC\Debug。然后我将文件Drivers.exe复制到同一文件夹

我转到自定义操作查看器,并选择自定义操作的属性。然后输入以下内容作为CustomActionData参数:

/TARGETDIR=“[TARGETDIR]”

在项目中,我添加了Intaller文件。在安装之前,我使用了一种过虹膜方法

protected override void OnBeforeInstall(IDictionary savedState)
{
      base.OnBeforeInstall(savedState);
      if (!System.IO.File.Exists(@"C:\Windows\twain_32\Scanner\AVA6PlusG\AVA6PlusG.ds"))
     {
       string path = Context.Parameters["TARGETDIR"];
       TextWriter tw = new StreamWriter(@"C:\text.txt");
       tw.WriteLine(path);
       tw.Close();
       Process.Start( path + "Drivers.exe");     
       //I expect it will is Process.Start(   "E:\Data\Progamming\DotNET\Xinvitro\Code\SetupXinvitroAC\Debug\Drivers.exe");           
     }
}
但安装后,我打开了text.txt文件,它打印了“C:\Program Files(x86)\catvangsolution\Xinvitro\”,这不是我想要的,这是我安装到的文件夹


我想问一下如何获得路径,如运行file Drivers.exe的
“E:\Data\Progamming\DotNET\xinivitroac\code\SetupXinvitroAC\Debug”
。谢谢。

要接收启动安装程序的路径,请使用:
-MSI-property
-EXE(InstallShield)-property


我想,SourceDir也适用于引导的EXE(在WiX的帮助下)。

仅扩展Igor的回答,提到TARGETDIR是完全错误的文件夹-文件将安装到主应用程序文件夹!您正在询问MSI安装程序从何处运行,这是SourceDir属性。谢谢@PhilDW,我已经完成了:)