我在 Visual Studio 中创建一个安装项目。
在此项目中,我需要在安装期间作为客户操作运行 C# 应用程序。在此 C# 应用程序中,我需要安装文件 (.exe) 的路径。
如何获取exe文件的源目录?
我尝试使用
GetCurrentProcess().MainModule.FileName
或GetExecutionAssembly()
。位置或Envirement.CurrentDirectory
。所有这些功能都通过应用程序运行。但是,如果我添加此程序以将项目设置为自定义操作,则在安装过程中我会获得 C:\Windows.
的路径
您必须在自定义操作中将自定义安装程序添加到您的安装项目中。选择安装操作并将 CustomActionData 属性设置为:
/targetdir="[TARGETDIR]\"
您可以在安装方法中获取目标目录如下
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
string path = this.Context.Parameters["targetdir"];
}