C# 如何获取自定义操作的路径文件安装程序
我在创建安装文件时遇到问题。我有项目winform,在生成解决方案后,我有2个文件setup.exe和SetupXinvitroAC.msi,包含在文件夹中: E:\Data\Progamming\DotNET\xinivitroac\Code\SetupXinvitroAC\Debug。然后我将文件Drivers.exe复制到同一文件夹 我转到自定义操作查看器,并选择自定义操作的属性。然后输入以下内容作为CustomActionData参数: /TARGETDIR=“[TARGETDIR]” 在项目中,我添加了Intaller文件。在安装之前,我使用了一种过虹膜方法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]”
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,我已经完成了:)