如何在自定义操作上获取路径文件安装程序

时间:2014-08-19 04:09:23

标签: c# windows-installer

我有关于创建设置文件的问题。我有项目winform,在构建解决方案后,我有2个文件setup.exe和SetupXinvitroAC.msi包含在文件夹中:

  

E:\数据\预设电台\ DOTNET \ Xinvitro \代码\ SetupXinvitroAC \调试。然后我将文件Drivers.exe复制到同一文件夹。

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

  

/ = TARGETDIR" [TARGETDIR] \"

项目中的

我添加了Intaller文件。我压倒了方法OnBeforeInstall

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 \'不喜欢我想要的,这是我安装的文件夹。

我想问一下我如何获得"E:\Data\Progamming\DotNET\Xinvitro\Code\SetupXinvitroAC\Debug"之类的路径来运行文件Drivers.exe。感谢。

1 个答案:

答案 0 :(得分:1)

要接收启动安装程序的路径:
- MSI - SourceDir属性
- EXE(InstallShield) - SETUPEXEDIR属性。

我猜,SourceDir也适用于自举的EXE(借助WiX)。