自定义安装

王朝other·作者佚名  2006-01-08
宽屏版  字体: |||超大  

需求:

现在我想要安装完成一个简单的自定义操作:

1 在安装过程中提供两个文本框,用于我输入数据库服务器名和要打开的数据库名。

2 将我的输入的数据写入一个文本文件,保存在 c:\log.txt。

实现:

1 新建一个类库项目,在该项目下添加一个类:

using System;

using System.ComponentModel;

using System.Collections;

using System.Configuration.Install;

using System.IO;

[RunInstaller(true)]

public class MyInstaller : Installer

{

public override void Install(IDictionary savedState)

{

base.Install(savedState);

try

{

StreamWriter writer = new StreamWriter("c:\\log.txt");

writer.WriteLine("whern i kasdjf" + System.DateTime.Now.ToString());

writer.WriteLine(this.Context.Parameters["Server"] + this.Context.Parameters["Database"]);

writer.Close();

}

catch (Exception e)

{

throw new InstallException(e.Message);

}

}

/// <summary>

/// Commit is called when install goes through successfully.

/// </summary>

/// <param name="savedState"></param>

public override void Commit(IDictionary savedState)

{

base.Commit(savedState);

}

/// <summary>

/// Rollback is called if there is any error during Install.

/// </summary>

/// <param name="savedState"></param>

public override void Rollback(IDictionary savedState)

{

base.Rollback(savedState);

}

public override void Uninstall(IDictionary savedState)

{

base.Uninstall(savedState);

}

}

2 将类库编译为 MyInstall.dll。

在你安装项目中:

1 进入“用户界面”视图。

a 在启动中添加一个 “文本框C”。

b 将文本框上移到“安装文件夹”之上。

c 设置文本框属性:

Edit3Visible = False

Edit4Visible = False

Edit1Label = “数据库服务器”

Edit2Label = “数据库”

2 进入“自定义操作”视图。

a 在 "安装目录" 下添加程序集 MyInstall.dll。

b 设置 MyInstall.dll 属性:

InstallerClass = True

CustonActionData = /Server=[EDITC1] /Database=[EDITC2]

到这一步就 Ok 了。

参考文档:

Installer Applications and Components (英文)。

安裝時將應用程式重新導向其他的目標 XML Web 服務(繁体)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有