关于安装部署一些小问题
2012-08-09 18:31
162 查看
本文主要用来记录在制作安装程序遇到的一些小问题及解决方案,可能会不断更新.当然这不是什么高深秘籍,各位看官如果你对此已十分熟悉,请轻拍....
如何获取安装目录.
1. 1 将安装部署项目切换到"视图->自定义操作", 在"安装"节点下展开应用程序的属性窗口,并在其属性" CustomActionData "中设置为 /targetdir="[TARGETDIR]\", 这其中[TARGETDIR]标签就表示当前的安装路径.targetdir 为我们在程序中获取的键值名称,如下图:
1.2 在程序中获取,有了上面的步骤后,我们就可以在对应项目中的 System.Configuration.Install.Installer 类中 通过如下方式获取: var setupDir = this.Context.Parameters["targetdir"]; 注意此处的 targetdir 应该是和你在上一步中设置的一样.
2. 如何通过Process启动外部程序并传递参数.
2.1 启动外部程序
//安装结束后,自动启动配置程序 try { var setupDir = this.Context.Parameters["targetdir"]; if (!string.IsNullOrEmpty(setupDir)) { var configFile = Path.Combine(setupDir.TrimEnd(new char[] { '\\' }), "PDWGenerateConfig.exe"); if (File.Exists(configFile)) { ProcessStartInfo ps = new ProcessStartInfo(); ps.FileName = configFile; ps.UseShellExecute = false; //定义参数:在配置结束后配置程序自动退出,完成本次安装 ps.Arguments = "x"; Process process = new Process(); process.StartInfo = ps; process.Start(); process.WaitForExit(); } } } catch //忽略异常 { }
2.2 程序接收端,获取参数.
//获取启动参数 string[] argument = Environment.GetCommandLineArgs(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); bool temp = false; if (argument != null && argument.Length > 1 && argument[1].Equals("x", StringComparison.CurrentCultureIgnoreCase)) { temp = true; } Application.Run(new MainForm(temp));
相关文章推荐
- 关于安装Android Studio的一些问题的解决方法
- 关于在win8下面安装虚拟机出现的一些问题
- 关于64位 Ubuntu 13.04 安装Android Studio的一些问题及ADB驱动配置
- 关于Tomcat安装的一些问题
- 关于Resin在Eclipse或者Myeclipse上利用Debug模式部署的方法以及遇到的一些问题
- 关于XAMPP下载安装的一些问题
- 关于在部署KMS过程中的一些问题和总结(windows 7)
- 关于将XMPP server部署到Tomcat上的一些问题
- 关于mysql5.6.20的一些安装问题
- 关于安装tomcat启动的一些问题
- 关于静默安装需要注意的一些问题(转)
- 关于VMware6.5下Ubuntu9.04安装VMware tools的一些问题总结
- 关于安装toad for oracle 10.6的一些问题
- 关于Tomcat安装过程中出现的一些问题...
- 关于安装Android Studio的一些问题的解决方法
- 解决关于安装完《外语任我说》之后一些软件界面乱码的问题
- 关于将XMPP server部署到Tomcat上的一些问题及断开连接不上解决
- 安装虚拟机时想到的一些关于IP地址及网络连接方式问题
- CentOS6.5(带图形安装)在使用过程中遇到的一些网络问题迷惑(关于联网)
- 关于caffe安装中的一些小问题