zoukankan      html  css  js  c++  java
  • VS 安装项目 :通过文本框得到用户输入 以及 安装后运行某程序(如打开C:\\a.html)

    1.通过VS 建立一个Web站点 并编辑

    2.在解决方案 加入 新建项目-安装项目(如Setup1)

    3.通过 安装项目(如Setup1) 的右键-添加-项目输出
      将第1步中建立的内容文件加入

    4.通过 解决方案 加入 一个类库

    5.将类库自动生成的Class.cs删除
      加入 “安装程序类”(如Installer1.cs)

    6.在这个Installer1.cs中 可以对一些安装事件 进行重载
      如
      protected override void OnAfterInstall(System.Collections.IDictionary savedState)
      {
          base.OnAfterInstall(savedState);
          System.IO.File.Create("C:\\test.txt");
      }
    7.在安装项目Setup1中通过
      右键-视图-用户界面-启动 加入"文本框"

    8.设置该 文本框 的属性:
      例如:
      BodyText :数据库相关信息:

      Edit1Label : 数据服务器IP
      Edit1Property:EDITA1
      Edit1Value:
      Edit1Visible:True

      Edit2Label : 数据库名称
      Edit2Property:EDITA2
      Edit2Value:
      Edit2Visible:True

      Edit3Label : 登陆用户
      Edit3Property:EDITA3
      Edit3Value:
      Edit3Visible:True

    9.在安装项目Setup1中通过
      右键-视图-自定义操作-安装 添加“自定义操作”
      选择主输出来自ClassLibrary1(活动)
      即将第4步所加入的类库的主输出加入

    10. 在自定义操作的安装下 的 刚才所加入 的
       主输出来自ClassLibrary1(活动)
       右键 - 属性 - CustomActionData
       输入相关内容 如
       /DBIP=[EDITA1] /DBNAME=[EDITA2]

    11. 编辑类库下的Installer1.cs文件的代码
       如 得到 刚才用户在对话框处的输入
       public override void Install(System.Collections.IDictionary stateSaver)
       {
           base.Install(stateSaver);
           string strDBIP = this.Context.Parameters["DBIP"];
           string strDBName = this.Context.Parameters["DBNAME"];
           ......         
       }

    12.安装完成前 打开某文件
       protected override void OnCommitted(System.Collections.IDictionary savedState)
       {
           base.OnCommitted(savedState);
           System.Diagnostics.Process a = new System.Diagnostics.Process();
           a.StartInfo.FileName = "C:\\a.html";
           a.Start();
       }

    13.编译类库 编译安装项目
       利用生成的安装项目 进行相关安装

    以上内容 详细可参阅VS相关帮助文档

  • 相关阅读:
    类方法代码重构寻找坏味道
    迭代二分查找二分查找
    系统牛逼[置顶] 使用RAMP理解内在动机 Understanding Intrinsic Motivation with RAMP
    对象服务器Webservices获取天气
    手机服务器Android消息推送(二)基于MQTT协议实现的推送功能
    概率小数2013年阿里巴巴暑期实习招聘笔试题目(不完整,笔试时间:2013.5.5)
    像素颜色JavaFX示例简易图片处理工具
    算法队列SPFA算法详解
    选择文件Eclipse制作jar包
    nullnull推箱子
  • 原文地址:https://www.cnblogs.com/freeliver54/p/674417.html
Copyright © 2011-2022 走看看