(1)main()函数
/// <summary>
/// 应用程序的主入口点。
/// 参数 string[] args :
/// args[0] :物理路径
///
///制作安装盘说明: [TARGETDIR]指当前安装路径
/// (1)在“自定义操作===安装”---属性
/// (2)属性 Arguments : [TARGETDIR]
/// (3)属性 InstallerClass : false
///
///为什么要使用setVDir.ini
/// 因为在进行安装Web应用程序时,Environment.CurrentDirectory取得的
/// 当前目录是 C:\WINNT\system32 ,因为它运行在system32,而不是在安装目录运行
/// 因此需要从Main()传入安装目录,把它临时写入setVDir.ini,在设置虚拟目录时从中读出
///</summary>
[STAThread]
static void Main(string[] args)
{
string iniFile;
if (args.Length0)
{
iniFile = Environment.CurrentDirectory+@"\setVDir.ini";
//C:\WINNT\system32\setVDir.ini
if (!File.Exists(iniFile))
{
using (FileStream fs = File.Create(iniFile))
{
fs.Close();
}
}
//当前安装路径 保存到 C:\WINNT\system32\setVDir.ini
INIFile myINI = new INIFile(iniFile);
myINI.IniWriteValue("MatNET","phyDirectory",args[0]);
}
Application.Run(new Form1());
}
(2)设置按钮事件
private void btOK_Click(object sender, System.EventArgs e)
{
string iniFile,webDir,phyDir;
string sServer = "localhost";
webDir = textBox1.Text.Trim(); //虚拟目录
iniFile = Environment.CurrentDirectory+@"\setVDir.ini"; //C:\\WINNT\system32\setVDir.ini
INIFile DirINI = new INIFile(iniFile);
phyDir = DirINI.IniReadValue("MatNET","phyDirectory"); //读取Main()传入的安装目录
IISManager iisMg = new IISManager(sServer);
iisMg.Connect();
if (iisMg.Exists(webDir))
{
MessageBox.Show("虚拟目录 [" +webDir+ "] 已经存在!");
textBox1.Focus();
}
else
{
iisMg.get_AnonymousUser();
string[] anonymousUser = new string[2];
anonymousUser[0] = iisMg.AnonymousUserName ;
anonymousUser[1] = iisMg.AnonymousUserPass ;
VirtualDirectory newVirDir = new VirtualDirectory(webDir,phyDir,anonymousUser);
if (iisMg.Create(newVirDir))
{
if (iniFile.Substring(iniFile.Length-1,1)=="\\")
iniFile = phyDir+"mat3NET.ini";
else
iniFile = phyDir+@"\mat3NET.ini";
if (!File.Exists(iniFile))
{
using (FileStream fs = File.Create(iniFile))
{fs.Close();}
}
INIFile myINI = new INIFile(iniFile);
myINI.IniWriteValue("MatNET","virtualDir",webDir);
myINI.IniWriteValue("MatNET","serverIP","http://127.0.0.1/"+webDir+"/")
}
else
{
MessageBox.Show("[" +phyDir+ "]虚拟目录 [" +webDir+ "] 创建不成功!");
}
}
iisMg.Close();
Close();
}