请教在C#的安装程序中如何获得安装程序所在的路径?

hxbin1979 2004-10-14 04:48:53
最近完成一个小项目,正在做安装程序,在安装类中创建Oracle数据库。需要在程序安装的时候获取

安装程序所在目录的路径(不是程序的安装路径)。如用光盘安装,此路径就是光盘的路径。获取此

路径才能指定批处理文件执行的数据库脚本

怎样取得路径呢?
...全文
995 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
Pegasuscc 2004-10-17
  • 打赏
  • 举报
回复
用installel吧
速马 2004-10-15
  • 打赏
  • 举报
回复
如果是“安装程序所在目录的路径”:
Assembly asm = this.GetType().Assembly; // 不应该是ExecutingAssembly
string path = asm.Location;
速马 2004-10-15
  • 打赏
  • 举报
回复
楼上的全都错LIAO~
安装程序是受Windows Installer服务管理的,所以Application.StartupPath这样的路径肯定不对

应该是this.Context.Parameters["targetdir"],类型继承System.Configuration.Install.Installer

然后还得配置其它东西(比如配置targetdir这个名字),参考VisualStudio的SDK关于"部署应用程序和组件"部分,弄懂之前操作起来还是很麻烦...
zdm2008 2004-10-15
  • 打赏
  • 举报
回复
Application.StartupPath 属性
yisan 2004-10-15
  • 打赏
  • 举报
回复
System.AppDomain.BaseDirectory这个可以获取.
Windows Service, Web Service这类程序的Application.StartupPath都是C:\windows\system32,而用System.AppDomain.BaseDirectory则可以正确获得.
lengyuewuhen 2004-10-15
  • 打赏
  • 举报
回复
帮你顶
CSDNATM 2004-10-15
  • 打赏
  • 举报
回复
kldn
BearRui 2004-10-14
  • 打赏
  • 举报
回复
安装程序程序的路径就是MSI文件的路径,这个也可以得到啊,学习。

期待答案!!!
hxbin1979 2004-10-14
  • 打赏
  • 举报
回复
Application.StartupPath我已经试过了,
获得得路径是windows安装程序的路径:C:\windows\system32
wangsaokui 2004-10-14
  • 打赏
  • 举报
回复
Application.StartupPath 属性
wangxt 2004-10-14
  • 打赏
  • 举报
回复
帮你顶
hxbin1979 2004-10-14
  • 打赏
  • 举报
回复
楼上的兄弟,我不是提取程序的安装路径,而是安装程序所在目录的路径,如使用光盘安装,则是光盘的路径。
wangsaokui 2004-10-14
  • 打赏
  • 举报
回复
Public Overrides Sub Uninstall(ByVal stateSaver As System.Collections.Idictionary)

‘执行反安装

‘利用反射提取安装路径

MyBase.Uninstall(stateSaver)

Dim Asm As System.Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()

Dim strConfigLoc As String

strConfigLoc = Asm.Location

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧