关于安装部署一些小问题

本文主要用来记录在制作安装程序遇到的一些小问题及解决方案,可能会不断更新.当然这不是什么高深秘籍,各位看官如果你对此已十分熟悉,请轻拍....

  1. 如何获取安装目录.

               1. 1 将安装部署项目切换到"视图->自定义操作", 在"安装"节点下展开应用程序的属性窗口,并在其属性" CustomActionData "中设置为 /targetdir="[TARGETDIR]\", 这其中[TARGETDIR]标签就表示当前的安装路径.targetdir 为我们在程序中获取的键值名称,如下图:

image

           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));

转载于:https://www.cnblogs.com/xie-zhonglai/archive/2012/08/09/2630757.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值