visual studio installer安装时想读取配置文件,怎样获取安装包所在位置?

liumeng0112 2017-07-27 09:40:15
在 visual studio installer 里定义了自定义动作,在自定义动作里用了如下很多种获取路径的方法,如
string str1 =Process.GetCurrentProcess().MainModule.FileName;
string str2=Environment.CurrentDirectory;
string str3=Directory.GetCurrentDirectory();
string str4=AppDomain.CurrentDomain.BaseDirectory;
string str5=Application.StartupPath;
string str6=Application.ExecutablePath;
string str7=AppDomain.CurrentDomain.SetupInformation.ApplicationBase;

都只能获取到c:\Windows\syswow64 这个路径,这应该是因为在64位系统上安装32位应用程序才使用这个临时系统。

想请教下如何获取 setup.exe (FujirebioGWSetup.msi) 文件所在的路径。 因为想读取同路径下的配置文件。
...全文
836 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
幻梦雷音 2018-05-29
  • 打赏
  • 举报
回复
MSDN最靠谱,最好靠自己,牛人hin少逛网站
liumeng0112 2017-08-01
  • 打赏
  • 举报
回复
回复次数居然是0……也是醉了 已解决。 虽然各种环境变量无法取到安装包位置。 但installer类已将该路径记入默认属性[SOURCEDIR],我们只需要将该属性 送给自己写的安装脚本即可。 传送方法如下,找到installer中你写入的动作脚本,右键属性,在CustomActionData里写入 /SourcePath="[SOURCEDIR]\" 这样,在脚本中我们即可使用 this.Context.Parameters["SourcePath"]; 获得setup文件当前路径。 (/SourcePath="[SOURCEDIR]\" 属性后面的\是必须的,而且在取到路径后,你会发现路径最后是两个\,这里我们要substring去掉最后一个,不然98等系统无法兼容) 结帖。

111,098

社区成员

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

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

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