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相关帮助文档

posted on 2007-03-14 13:12  freeliver54  阅读(1832)  评论(11编辑  收藏  举报

导航