Web安装程序不能选择安装目录问题(2)

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

(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();

}

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