Solve the web installer cannot choose the installation directory (2)

xiaoxiao2021-03-06  35

(1) Main () function ///

/// The primary entry point of the application. /// Parameter String [] args: /// args [0]: physical path /// // Makeup installation disk Description: [Targetdir] refers to the current installation path /// (1) in "custom operation == => Installation "---> Properties /// (2) Property Arguments: [Targetdir] /// (3) Properties InstallerClass: false //// Why use setvdir.ini /// because installation When the web application, the /// current directory acquired by Environment.CurrentDirectory is C: / WinNT / System32 because it runs in System32, not the installation directory is run ///, therefore needs to pass into the installation directory from main (). It temporarily writes setvdir.ini and reads /// when setting the virtual directory (STRING [] args) {string inifile; if (args.length> 0) {inIfile = Environment.currentDirectory @ "/ setvdir.ini"; //c:/winnt/system32/setvdir.ini if ​​(! File.exists (inifi)) {using (fileStream fs = file.create (inifi) {fs.close ();}} // Current installation path Save to C: /Winnt/System32/setvdir.ini inIfile myini = new inifile (InIfile); Myini.iniWriteValue ("Matnet", "PHYDIRECTORY", ARGS [0]);} Application.run (New Form1 ());

(2) Set button event private void btOK_Click (object sender, System.EventArgs e) {string iniFile, webDir, phyDir; string sServer = "localhost"; webDir = textBox1.Text.Trim (); // virtual directory iniFile = Environment .CurrentDirectory @ "/ setvdir.ini"; //c://winnt/system32/setvdir.ini inIfile Dirini = new inifile (inIfile); phydir = dirini.inireadvalue ("Matnet", "phydirectory"; // Read Take Main () Introduction Installation Directory IISMANager IISMG = New IISMANager (SSERVER); IISMG.Connect (); if (iismg.exists (webdir)) {MessageBox.show ("Virtual Directory [" WebDir "] already exists! "); 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, AnonymoususeUser); if (IISMG.CREATE (NEWVIRDIR)) {if (InIfile.Substring (Inifile.Length-1, 1) == "//") inIfile = phydir "M At3Net.ini "; else inIfile = phydir @" / mat3net.ini "; if (! file.exists (inifi) {using (filestream fs = file.create (inifi) {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 "] virtual directory [" webdir "

转载请注明原文地址:https://www.9cbs.com/read-64619.html

New Post(0)