我在Install Shield限量版Visual Studio for Windows 7中创建了一个安装项目。
在这个项目中,我需要在安装过程中运行C#应用程序作为客户操作。在这个C#应用程序中,我需要从安装项目运行的路径。
我尝试使用GetCurrentProcess().MainModule.FileName
或GetExecutionAssembly()
。位置或Envirement.CurrentDirectory
。所有这些功能都来自应用程序。但是,如果我添加此程序以将项目设置为自定义操作在安装期间,我将获得C:\Windows.
我怎样才能获得真正的路径? 感谢
答案 0 :(得分:0)
您可以获取应用程序目录
string directory = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
或
string directory = System.AppDomain.CurrentDomain.BaseDirectory;
或
string directory = Thread.GetDomain().BaseDirectory;
答案 1 :(得分:0)
您必须在自定义操作中将自定义安装程序添加到安装项目中。选择Install操作并将CustomActionData
属性设置为:
/targetdir="[TARGETDIR]\"
然后你可以访问这样的路径:
[RunInstaller(true)]
public partial class CustomInstaller : System.Configuration.Install.Installer
{
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
string path = this.Context.Parameters["targetdir"];
// Do something with path.
}
}
更多https://msdn.microsoft.com/en-us/library/system.configuration.install.installer(v=vs.90).aspx
如果您有任何问题,请告诉我