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) 编辑 收藏 举报