您的位置:首页 > 其它

获取Setup文件的运行路径

2007-11-20 09:51 309 查看
昨天项目中因为需要在安装时做配置,而在打包之前是不知道配置的具体信息的。用InstallShield来做打包好像做这样的处理比较方便,但是使用Visual Studio创建安装项目来打包时好像不是那么容易,在网上查找相关的资料一直没有找到很好的方法来直接获取其运行路径,网上有人说继承Installer来做,但是无论如何所能取得的路径是系统msiexec.exe的运行路径,所以这种方法看起来是行不通了。获取其安装路径也是非常简单而且方法有很多种。

想到以前在做项目时要求程序只能有一个运行实例,这种方法来处理岂不是很好,换种思路来处理:先取得当前运行的所有Process然后再找到那个Setup或是*.msi那不就好了。想到着就赶快动手试验,在程序中加上处理代码,很快搞定。

Process[] processes = Process.GetProcesses();

string tmp = "";

int i = 0;//调试时为了查找线程的个数

foreach (Process pro in processes)

MessageBox.Show(tmp);

不过此方法有点不妥之处,那就是如果用户改变了Setup.exe或是*.msi的文件名就不好处理了,为了防止在用户更改文件名后运行安装,你可以在程序中加上判断文件名更改的处理,给用户提示。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: