[mapguide-commits] r9954 - in trunk/Tools/MgInstantSetup: InstantSetup InstantSetup.Core InstantSetupCmd

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Wed Aug 10 08:12:46 PDT 2022


Author: jng
Date: 2022-08-10 08:12:45 -0700 (Wed, 10 Aug 2022)
New Revision: 9954

Modified:
   trunk/Tools/MgInstantSetup/InstantSetup.Core/AbstractSetupConfigurationProcess.cs
   trunk/Tools/MgInstantSetup/InstantSetup.Core/ApacheSetupConfigurationProcess.cs
   trunk/Tools/MgInstantSetup/InstantSetup.Core/AppCmd.cs
   trunk/Tools/MgInstantSetup/InstantSetup.Core/IISSetupConfigurationProcess.cs
   trunk/Tools/MgInstantSetup/InstantSetup/Form1.Designer.cs
   trunk/Tools/MgInstantSetup/InstantSetup/Form1.cs
   trunk/Tools/MgInstantSetup/InstantSetup/Form1.resx
   trunk/Tools/MgInstantSetup/InstantSetup/IISConfigCtrl.Designer.cs
   trunk/Tools/MgInstantSetup/InstantSetup/IISConfigCtrl.cs
   trunk/Tools/MgInstantSetup/InstantSetupCmd/Program.cs
Log:
Ensure legacy requestValidationMode setting is being applied for IIS/.net configuration. Fixes #2849
Add new field to optionally provide a log file where setup actions are being logged to. Fixes #2848
#2847: Fix 64-bit flag not being picked up due to UI not being in sync with underlying model

Modified: trunk/Tools/MgInstantSetup/InstantSetup/Form1.Designer.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup/Form1.Designer.cs	2022-08-09 16:39:11 UTC (rev 9953)
+++ trunk/Tools/MgInstantSetup/InstantSetup/Form1.Designer.cs	2022-08-10 15:12:45 UTC (rev 9954)
@@ -57,6 +57,10 @@
             this.label4 = new System.Windows.Forms.Label();
             this.openFileDialog = new System.Windows.Forms.OpenFileDialog();
             this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+            this.button2 = new System.Windows.Forms.Button();
+            this.txtLogActionsFile = new System.Windows.Forms.TextBox();
+            this.label8 = new System.Windows.Forms.Label();
+            this.saveFileDialog = new System.Windows.Forms.SaveFileDialog();
             this.tabControl1.SuspendLayout();
             this.groupBox1.SuspendLayout();
             this.groupBox2.SuspendLayout();
@@ -69,7 +73,7 @@
             // btnConfigure
             // 
             this.btnConfigure.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-            this.btnConfigure.Location = new System.Drawing.Point(830, 563);
+            this.btnConfigure.Location = new System.Drawing.Point(921, 595);
             this.btnConfigure.Name = "btnConfigure";
             this.btnConfigure.Size = new System.Drawing.Size(75, 23);
             this.btnConfigure.TabIndex = 0;
@@ -85,7 +89,7 @@
             this.tabControl1.Location = new System.Drawing.Point(3, 16);
             this.tabControl1.Name = "tabControl1";
             this.tabControl1.SelectedIndex = 0;
-            this.tabControl1.Size = new System.Drawing.Size(380, 428);
+            this.tabControl1.Size = new System.Drawing.Size(471, 427);
             this.tabControl1.TabIndex = 1;
             // 
             // TAB_APACHE
@@ -93,7 +97,7 @@
             this.TAB_APACHE.Location = new System.Drawing.Point(4, 22);
             this.TAB_APACHE.Name = "TAB_APACHE";
             this.TAB_APACHE.Padding = new System.Windows.Forms.Padding(3);
-            this.TAB_APACHE.Size = new System.Drawing.Size(372, 402);
+            this.TAB_APACHE.Size = new System.Drawing.Size(463, 401);
             this.TAB_APACHE.TabIndex = 1;
             this.TAB_APACHE.Text = "Apache";
             this.TAB_APACHE.UseVisualStyleBackColor = true;
@@ -103,9 +107,9 @@
             this.TAB_IIS7.Location = new System.Drawing.Point(4, 22);
             this.TAB_IIS7.Name = "TAB_IIS7";
             this.TAB_IIS7.Padding = new System.Windows.Forms.Padding(3);
-            this.TAB_IIS7.Size = new System.Drawing.Size(372, 402);
+            this.TAB_IIS7.Size = new System.Drawing.Size(463, 401);
             this.TAB_IIS7.TabIndex = 2;
-            this.TAB_IIS7.Text = "IIS7";
+            this.TAB_IIS7.Text = "IIS7+";
             this.TAB_IIS7.UseVisualStyleBackColor = true;
             // 
             // label1
@@ -123,7 +127,7 @@
             | System.Windows.Forms.AnchorStyles.Right)));
             this.txtServiceName.Location = new System.Drawing.Point(156, 61);
             this.txtServiceName.Name = "txtServiceName";
-            this.txtServiceName.Size = new System.Drawing.Size(745, 20);
+            this.txtServiceName.Size = new System.Drawing.Size(836, 20);
             this.txtServiceName.TabIndex = 3;
             this.txtServiceName.TextChanged += new System.EventHandler(this.txtServiceName_TextChanged);
             // 
@@ -142,7 +146,7 @@
             | System.Windows.Forms.AnchorStyles.Right)));
             this.txtSourceDirectory.Location = new System.Drawing.Point(156, 9);
             this.txtSourceDirectory.Name = "txtSourceDirectory";
-            this.txtSourceDirectory.Size = new System.Drawing.Size(710, 20);
+            this.txtSourceDirectory.Size = new System.Drawing.Size(801, 20);
             this.txtSourceDirectory.TabIndex = 5;
             this.txtSourceDirectory.TextChanged += new System.EventHandler(this.txtSourceDirectory_TextChanged);
             // 
@@ -149,7 +153,7 @@
             // btnSourceDir
             // 
             this.btnSourceDir.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.btnSourceDir.Location = new System.Drawing.Point(872, 7);
+            this.btnSourceDir.Location = new System.Drawing.Point(963, 7);
             this.btnSourceDir.Name = "btnSourceDir";
             this.btnSourceDir.Size = new System.Drawing.Size(29, 23);
             this.btnSourceDir.TabIndex = 6;
@@ -161,7 +165,7 @@
             // 
             this.chkInstallServices.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
             this.chkInstallServices.AutoSize = true;
-            this.chkInstallServices.Location = new System.Drawing.Point(13, 567);
+            this.chkInstallServices.Location = new System.Drawing.Point(13, 599);
             this.chkInstallServices.Name = "chkInstallServices";
             this.chkInstallServices.Size = new System.Drawing.Size(97, 17);
             this.chkInstallServices.TabIndex = 7;
@@ -173,7 +177,7 @@
             // button1
             // 
             this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-            this.button1.Location = new System.Drawing.Point(872, 33);
+            this.button1.Location = new System.Drawing.Point(963, 33);
             this.button1.Name = "button1";
             this.button1.Size = new System.Drawing.Size(29, 23);
             this.button1.TabIndex = 10;
@@ -187,7 +191,7 @@
             | System.Windows.Forms.AnchorStyles.Right)));
             this.txtBatchOutput.Location = new System.Drawing.Point(156, 35);
             this.txtBatchOutput.Name = "txtBatchOutput";
-            this.txtBatchOutput.Size = new System.Drawing.Size(710, 20);
+            this.txtBatchOutput.Size = new System.Drawing.Size(801, 20);
             this.txtBatchOutput.TabIndex = 9;
             this.txtBatchOutput.TextChanged += new System.EventHandler(this.txtBatchOutput_TextChanged);
             // 
@@ -204,7 +208,7 @@
             // 
             this.chkWriteMentorDictPath.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
             this.chkWriteMentorDictPath.AutoSize = true;
-            this.chkWriteMentorDictPath.Location = new System.Drawing.Point(116, 567);
+            this.chkWriteMentorDictPath.Location = new System.Drawing.Point(116, 599);
             this.chkWriteMentorDictPath.Name = "chkWriteMentorDictPath";
             this.chkWriteMentorDictPath.Size = new System.Drawing.Size(466, 17);
             this.chkWriteMentorDictPath.TabIndex = 11;
@@ -218,7 +222,7 @@
             this.chk64Bit.AutoSize = true;
             this.chk64Bit.Checked = true;
             this.chk64Bit.CheckState = System.Windows.Forms.CheckState.Checked;
-            this.chk64Bit.Location = new System.Drawing.Point(156, 87);
+            this.chk64Bit.Location = new System.Drawing.Point(156, 120);
             this.chk64Bit.Name = "chk64Bit";
             this.chk64Bit.Size = new System.Drawing.Size(201, 17);
             this.chk64Bit.TabIndex = 12;
@@ -232,10 +236,10 @@
             this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
             this.groupBox1.Location = new System.Drawing.Point(0, 0);
             this.groupBox1.Name = "groupBox1";
-            this.groupBox1.Size = new System.Drawing.Size(386, 447);
+            this.groupBox1.Size = new System.Drawing.Size(477, 446);
             this.groupBox1.TabIndex = 13;
             this.groupBox1.TabStop = false;
-            this.groupBox1.Text = "Web";
+            this.groupBox1.Text = "Web (active tab determines web server to configure for)";
             // 
             // groupBox2
             // 
@@ -251,7 +255,7 @@
             this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
             this.groupBox2.Location = new System.Drawing.Point(0, 0);
             this.groupBox2.Name = "groupBox2";
-            this.groupBox2.Size = new System.Drawing.Size(494, 447);
+            this.groupBox2.Size = new System.Drawing.Size(494, 446);
             this.groupBox2.TabIndex = 14;
             this.groupBox2.TabStop = false;
             this.groupBox2.Text = "Server";
@@ -260,7 +264,7 @@
             // 
             this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
-            this.label7.Location = new System.Drawing.Point(19, 386);
+            this.label7.Location = new System.Drawing.Point(19, 385);
             this.label7.Name = "label7";
             this.label7.Size = new System.Drawing.Size(457, 45);
             this.label7.TabIndex = 8;
@@ -278,7 +282,7 @@
             this.chkProviders.Location = new System.Drawing.Point(20, 137);
             this.chkProviders.Name = "chkProviders";
             this.chkProviders.ScrollAlwaysVisible = true;
-            this.chkProviders.Size = new System.Drawing.Size(456, 244);
+            this.chkProviders.Size = new System.Drawing.Size(456, 229);
             this.chkProviders.TabIndex = 7;
             // 
             // label6
@@ -355,7 +359,7 @@
             | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
             this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
-            this.splitContainer1.Location = new System.Drawing.Point(17, 110);
+            this.splitContainer1.Location = new System.Drawing.Point(17, 143);
             this.splitContainer1.Name = "splitContainer1";
             // 
             // splitContainer1.Panel1
@@ -365,15 +369,47 @@
             // splitContainer1.Panel2
             // 
             this.splitContainer1.Panel2.Controls.Add(this.groupBox1);
-            this.splitContainer1.Size = new System.Drawing.Size(884, 447);
+            this.splitContainer1.Size = new System.Drawing.Size(975, 446);
             this.splitContainer1.SplitterDistance = 494;
             this.splitContainer1.TabIndex = 15;
             // 
+            // button2
+            // 
+            this.button2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+            this.button2.Location = new System.Drawing.Point(963, 85);
+            this.button2.Name = "button2";
+            this.button2.Size = new System.Drawing.Size(29, 23);
+            this.button2.TabIndex = 18;
+            this.button2.Text = "...";
+            this.button2.UseVisualStyleBackColor = true;
+            this.button2.Click += new System.EventHandler(this.button2_Click);
+            // 
+            // txtLogActionsFile
+            // 
+            this.txtLogActionsFile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+            | System.Windows.Forms.AnchorStyles.Right)));
+            this.txtLogActionsFile.Location = new System.Drawing.Point(156, 87);
+            this.txtLogActionsFile.Name = "txtLogActionsFile";
+            this.txtLogActionsFile.Size = new System.Drawing.Size(801, 20);
+            this.txtLogActionsFile.TabIndex = 17;
+            // 
+            // label8
+            // 
+            this.label8.AutoSize = true;
+            this.label8.Location = new System.Drawing.Point(14, 90);
+            this.label8.Name = "label8";
+            this.label8.Size = new System.Drawing.Size(112, 13);
+            this.label8.TabIndex = 16;
+            this.label8.Text = "Log installer actions to";
+            // 
             // Form1
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-            this.ClientSize = new System.Drawing.Size(917, 598);
+            this.ClientSize = new System.Drawing.Size(1008, 630);
+            this.Controls.Add(this.button2);
+            this.Controls.Add(this.txtLogActionsFile);
+            this.Controls.Add(this.label8);
             this.Controls.Add(this.splitContainer1);
             this.Controls.Add(this.chk64Bit);
             this.Controls.Add(this.chkWriteMentorDictPath);
@@ -433,6 +469,10 @@
         private System.Windows.Forms.Label label5;
         private System.Windows.Forms.OpenFileDialog openFileDialog;
         private System.Windows.Forms.SplitContainer splitContainer1;
+        private System.Windows.Forms.Button button2;
+        private System.Windows.Forms.TextBox txtLogActionsFile;
+        private System.Windows.Forms.Label label8;
+        private System.Windows.Forms.SaveFileDialog saveFileDialog;
     }
 }
 

Modified: trunk/Tools/MgInstantSetup/InstantSetup/Form1.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup/Form1.cs	2022-08-09 16:39:11 UTC (rev 9953)
+++ trunk/Tools/MgInstantSetup/InstantSetup/Form1.cs	2022-08-10 15:12:45 UTC (rev 9954)
@@ -16,15 +16,11 @@
 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 // 
 #endregion
+using InstantSetup.Core;
 using System;
 using System.Collections.Generic;
-using System.ComponentModel;
-using System.Data;
-using System.Drawing;
-using System.Text;
+using System.IO;
 using System.Windows.Forms;
-using System.IO;
-using InstantSetup.Core;
 
 namespace InstantSetup
 {
@@ -35,7 +31,6 @@
             InitializeComponent();
             _apacheConf = new ApacheConfigCtrl();
             _iis7Conf = new IISConfigCtrl();
-
             txtServiceName.Text = "MapGuide Server Trunk";
         }
 
@@ -43,6 +38,7 @@
         {
             _apacheConf.Wrapper.Dock = DockStyle.Fill;
             _iis7Conf.Wrapper.Dock = DockStyle.Fill;
+            _iis7Conf.Config.Is64BitMapGuide = _apacheConf.Config.Is64BitMapGuide = chk64Bit.Checked;
             TAB_APACHE.Controls.Add(_apacheConf.Wrapper);
             TAB_IIS7.Controls.Add(_iis7Conf.Wrapper);
         }
@@ -116,10 +112,24 @@
 
                 var reg = new FdoProviderRegistration(txtFdoRegUtilPath.Text, GetCheckedProviders());
                 reg.Execute();
-                GetActiveView().Config.Execute();
-                if (!chkInstallServices.Checked)
-                    MessageBox.Show("Batch scripts saved to " + GetActiveView().Config.BatchFileOutputDirectory);
-                //Service install not implemented
+                FormatLineWriter writer = (format, args) => { };
+                FileLogger logger = null;
+                try
+                {
+                    if (!string.IsNullOrWhiteSpace(txtLogActionsFile.Text))
+                    {
+                        logger = new FileLogger(txtLogActionsFile.Text);
+                        writer = (format, args) => logger.WriteLine(format, args);
+                    }
+                    GetActiveView().Config.Execute(writer);
+                    if (!chkInstallServices.Checked)
+                        MessageBox.Show("Batch scripts saved to " + GetActiveView().Config.BatchFileOutputDirectory);
+                    //Service install not implemented
+                }
+                finally
+                {
+                    logger.Close();
+                }
             }
             catch (Exception ex)
             {
@@ -127,6 +137,26 @@
             }
         }
 
+        class FileLogger
+        {
+            readonly StreamWriter _sw;
+
+            public FileLogger(string fileName)
+            {
+                _sw = new StreamWriter(fileName);
+            }
+
+            internal void Close()
+            {
+                _sw.Close();
+            }
+
+            internal void WriteLine(string format, object[] args)
+            {
+                _sw.WriteLine(String.Format(format, args));
+            }
+        }
+
         private IEnumerable<string> GetCheckedProviders()
         {
             foreach (var item in chkProviders.CheckedItems)
@@ -203,5 +233,13 @@
                 txtFdoRegUtilPath.Text = openFileDialog.FileName;
             }
         }
+
+        private void button2_Click(object sender, EventArgs e)
+        {
+            if (saveFileDialog.ShowDialog() == DialogResult.OK)
+            {
+                txtLogActionsFile.Text = saveFileDialog.FileName;
+            }
+        }
     }
 }

Modified: trunk/Tools/MgInstantSetup/InstantSetup/Form1.resx
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup/Form1.resx	2022-08-09 16:39:11 UTC (rev 9953)
+++ trunk/Tools/MgInstantSetup/InstantSetup/Form1.resx	2022-08-10 15:12:45 UTC (rev 9954)
@@ -123,4 +123,7 @@
   <metadata name="openFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>144, 17</value>
   </metadata>
+  <metadata name="saveFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>277, 17</value>
+  </metadata>
 </root>
\ No newline at end of file

Modified: trunk/Tools/MgInstantSetup/InstantSetup/IISConfigCtrl.Designer.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup/IISConfigCtrl.Designer.cs	2022-08-09 16:39:11 UTC (rev 9953)
+++ trunk/Tools/MgInstantSetup/InstantSetup/IISConfigCtrl.Designer.cs	2022-08-10 15:12:45 UTC (rev 9954)
@@ -47,7 +47,6 @@
             this.groupBox4 = new System.Windows.Forms.GroupBox();
             this.rdDotNet = new System.Windows.Forms.RadioButton();
             this.rdPhp = new System.Windows.Forms.RadioButton();
-            this.chkEnable32Bit = new System.Windows.Forms.CheckBox();
             this.groupBox1.SuspendLayout();
             this.groupBox2.SuspendLayout();
             ((System.ComponentModel.ISupportInitialize)(this.numSitePort)).BeginInit();
@@ -60,7 +59,6 @@
             // 
             this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
             | System.Windows.Forms.AnchorStyles.Right)));
-            this.groupBox1.Controls.Add(this.chkEnable32Bit);
             this.groupBox1.Controls.Add(this.txtAppPool);
             this.groupBox1.Controls.Add(this.label7);
             this.groupBox1.Controls.Add(this.txtVirtualDir);
@@ -71,7 +69,7 @@
             this.groupBox1.Controls.Add(this.label1);
             this.groupBox1.Location = new System.Drawing.Point(12, 133);
             this.groupBox1.Name = "groupBox1";
-            this.groupBox1.Size = new System.Drawing.Size(390, 186);
+            this.groupBox1.Size = new System.Drawing.Size(390, 157);
             this.groupBox1.TabIndex = 0;
             this.groupBox1.TabStop = false;
             this.groupBox1.Text = "IIS General";
@@ -241,7 +239,7 @@
             | System.Windows.Forms.AnchorStyles.Right)));
             this.groupBox4.Controls.Add(this.rdDotNet);
             this.groupBox4.Controls.Add(this.rdPhp);
-            this.groupBox4.Location = new System.Drawing.Point(12, 325);
+            this.groupBox4.Location = new System.Drawing.Point(12, 296);
             this.groupBox4.Name = "groupBox4";
             this.groupBox4.Size = new System.Drawing.Size(390, 50);
             this.groupBox4.TabIndex = 4;
@@ -272,17 +270,6 @@
             this.rdPhp.UseVisualStyleBackColor = true;
             this.rdPhp.CheckedChanged += new System.EventHandler(this.rdPhp_CheckedChanged);
             // 
-            // chkEnable32Bit
-            // 
-            this.chkEnable32Bit.AutoSize = true;
-            this.chkEnable32Bit.Location = new System.Drawing.Point(19, 153);
-            this.chkEnable32Bit.Name = "chkEnable32Bit";
-            this.chkEnable32Bit.Size = new System.Drawing.Size(354, 17);
-            this.chkEnable32Bit.TabIndex = 8;
-            this.chkEnable32Bit.Text = "Enable 32-bit applications (tick only if configuring for 32-bit MapGuide)";
-            this.chkEnable32Bit.UseVisualStyleBackColor = true;
-            this.chkEnable32Bit.CheckedChanged += new System.EventHandler(this.chkEnable32Bit_CheckedChanged);
-            // 
             // IISConfigCtrl
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@@ -291,7 +278,7 @@
             this.Controls.Add(this.groupBox2);
             this.Controls.Add(this.groupBox1);
             this.Name = "IISConfigCtrl";
-            this.Size = new System.Drawing.Size(422, 390);
+            this.Size = new System.Drawing.Size(422, 358);
             this.groupBox1.ResumeLayout(false);
             this.groupBox1.PerformLayout();
             this.groupBox2.ResumeLayout(false);
@@ -326,6 +313,5 @@
         private System.Windows.Forms.RadioButton rdPhp;
         private System.Windows.Forms.TextBox txtAppPool;
         private System.Windows.Forms.Label label7;
-        private System.Windows.Forms.CheckBox chkEnable32Bit;
     }
 }

Modified: trunk/Tools/MgInstantSetup/InstantSetup/IISConfigCtrl.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup/IISConfigCtrl.cs	2022-08-09 16:39:11 UTC (rev 9953)
+++ trunk/Tools/MgInstantSetup/InstantSetup/IISConfigCtrl.cs	2022-08-10 15:12:45 UTC (rev 9954)
@@ -47,8 +47,6 @@
 
             rdDotNet.Checked = _confImpl.EnableDotNet;
             rdPhp.Checked = _confImpl.EnablePhp;
-
-            chkEnable32Bit.Checked = _confImpl.Enable32BitAppsOnWin64;
         }
 
         public AbstractSetupConfigurationProcess Config
@@ -108,10 +106,5 @@
         {
             _confImpl.ApplicationPool = txtAppPool.Text;
         }
-
-        private void chkEnable32Bit_CheckedChanged(object sender, EventArgs e)
-        {
-            _confImpl.Enable32BitAppsOnWin64 = chkEnable32Bit.Checked;
-        }
     }
 }

Modified: trunk/Tools/MgInstantSetup/InstantSetup.Core/AbstractSetupConfigurationProcess.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup.Core/AbstractSetupConfigurationProcess.cs	2022-08-09 16:39:11 UTC (rev 9953)
+++ trunk/Tools/MgInstantSetup/InstantSetup.Core/AbstractSetupConfigurationProcess.cs	2022-08-10 15:12:45 UTC (rev 9954)
@@ -17,10 +17,8 @@
 // 
 #endregion
 using System;
-using System.Collections.Generic;
-using System.Text;
+using System.Globalization;
 using System.IO;
-using System.Globalization;
 
 namespace InstantSetup.Core
 {
@@ -195,12 +193,14 @@
         private IniFile _webConfig;
         private IniFile _phpConfig;
 
-        public void Execute()
+        public void Execute(FormatLineWriter writer)
         {
-            ValidateConfigSettings();
+            ValidateConfigSettings(writer);
 
             if (this.BackupConfigFiles)
             {
+                writer("Backing up existing configuration files");
+
                 if (string.IsNullOrEmpty(this.BackupConfigPath))
                     throw new InvalidOperationException("Please specify a backup path for config files");
                 else
@@ -208,7 +208,7 @@
                     if (!Directory.Exists(this.BackupConfigPath))
                         Directory.CreateDirectory(this.BackupConfigPath);
 
-                    DoBackupConfigFiles();
+                    DoBackupConfigFiles(writer);
                 }
             }
 
@@ -233,11 +233,11 @@
             _webConfig = new IniFile(webConfigIni);
             _phpConfig = new IniFile(phpIni);
 
-            SetServerConfigProperties();
-            SetWebConfigProperties();
-            SetPhpConfigProperties();
+            SetServerConfigProperties(writer);
+            SetWebConfigProperties(writer);
+            SetPhpConfigProperties(writer);
 
-            ConfigureWebServer();
+            ConfigureWebServer(writer);
 
             if (this.InstallServices)
             {
@@ -247,14 +247,20 @@
             {
                 if (this.WriteMentorDictionaryPath)
                 {
+                    writer("Writing mgserver.bat");
+
                     //Write server batch file
                     string serverText = string.Format(Properties.Resources.SERVER, this.CsMapDictionaryDir, this.ServerBinDir);
                     File.WriteAllText(Path.Combine(this.BatchFileOutputDirectory, "mgserver.bat"), serverText);
 
+                    writer("Writing mgserverinstall.bat");
+
                     //Write service install batch file
                     serverText = string.Format(Properties.Resources.SERVER_INSTALL, this.CsMapDictionaryDir, this.ServerBinDir, this.MapGuideServiceName);
                     File.WriteAllText(Path.Combine(this.BatchFileOutputDirectory, "mgserverinstall.bat"), serverText);
 
+                    writer("Writing mgserveruninstall.bat");
+
                     //Write service uninstall batch file
                     serverText = string.Format(Properties.Resources.SERVER_UNINSTALL, this.CsMapDictionaryDir, this.ServerBinDir, this.MapGuideServiceName);
                     File.WriteAllText(Path.Combine(this.BatchFileOutputDirectory, "mgserveruninstall.bat"), serverText);
@@ -261,29 +267,35 @@
                 }
                 else //Post RFC 122
                 {
+                    writer("Writing mgserver.bat");
+
                     //Write server batch file
                     string serverText = string.Format(Properties.Resources.SERVER_NO_MENTOR, this.ServerBinDir);
                     File.WriteAllText(Path.Combine(this.BatchFileOutputDirectory, "mgserver.bat"), serverText);
 
+                    writer("Writing mgserverinstall.bat");
+
                     //Write service install batch file
                     serverText = string.Format(Properties.Resources.SERVER_INSTALL_NO_MENTOR, this.ServerBinDir, this.MapGuideServiceName);
                     File.WriteAllText(Path.Combine(this.BatchFileOutputDirectory, "mgserverinstall.bat"), serverText);
 
+                    writer("Writing mgserveruninstall.bat");
+
                     //Write service uninstall batch file
                     serverText = string.Format(Properties.Resources.SERVER_UNINSTALL_NO_MENTOR, this.ServerBinDir, this.MapGuideServiceName);
                     File.WriteAllText(Path.Combine(this.BatchFileOutputDirectory, "mgserveruninstall.bat"), serverText);
                 }
-                WriteAdditionalBatchFiles();
+                WriteAdditionalBatchFiles(writer);
             }
         }
 
-        protected abstract void WriteAdditionalBatchFiles();
+        protected abstract void WriteAdditionalBatchFiles(FormatLineWriter writer);
 
-        protected abstract void ValidateConfigSettings();
+        protected abstract void ValidateConfigSettings(FormatLineWriter writer);
 
-        protected abstract void ConfigureWebServer();
+        protected abstract void ConfigureWebServer(FormatLineWriter writer);
 
-        private void SetPhpConfigProperties()
+        private void SetPhpConfigProperties(FormatLineWriter writer)
         {
             _phpConfig.IniWriteValue("PHP", "extension_dir", Path.Combine(this.WebTierPhpDir, "ext"));
             _phpConfig.IniWriteValue("Session", "session.save_path", Path.Combine(this.WebTierRootDir, "Temp"));
@@ -291,7 +303,7 @@
             _phpConfig.IniWriteValue("PHP", "sys_temp_dir", tempDir);
         }
 
-        private void SetWebConfigProperties()
+        private void SetWebConfigProperties(FormatLineWriter writer)
         {
             //Port numbers
             _webConfig.IniWriteValue("AdministrativeConnectionProperties", "Port", this.ServerAdminPort.ToString(CultureInfo.InvariantCulture));
@@ -319,7 +331,7 @@
             _webConfig.IniWriteValue("WebApplicationProperties", "ContainerInfoFolder", Path.Combine(this.WebTierPublicDir, "fusion\\containerinfo"));
         }
 
-        private void SetServerConfigProperties()
+        private void SetServerConfigProperties(FormatLineWriter writer)
         {
             //Port numbers
             _serverConfig.IniWriteValue("AdministrativeConnectionProperties", "Port", this.ServerAdminPort.ToString(CultureInfo.InvariantCulture));
@@ -353,6 +365,6 @@
             _serverConfig.IniWriteValue("ResourceServiceProperties", "ResourceSchemaFilePath", Path.Combine(ServerRootDir, "Schema"));
         }
 
-        protected abstract void DoBackupConfigFiles();
+        protected abstract void DoBackupConfigFiles(FormatLineWriter writer);
     }
 }

Modified: trunk/Tools/MgInstantSetup/InstantSetup.Core/ApacheSetupConfigurationProcess.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup.Core/ApacheSetupConfigurationProcess.cs	2022-08-09 16:39:11 UTC (rev 9953)
+++ trunk/Tools/MgInstantSetup/InstantSetup.Core/ApacheSetupConfigurationProcess.cs	2022-08-10 15:12:45 UTC (rev 9954)
@@ -79,7 +79,7 @@
             get { return Path.Combine(this.WebTierRootDir, "Tomcat"); }
         }
 
-        protected override void ValidateConfigSettings()
+        protected override void ValidateConfigSettings(FormatLineWriter writer)
         {
 
         }
@@ -90,7 +90,7 @@
             return str.EndsWith("/") ? str : (str + "/");
         }
 
-        protected override void ConfigureWebServer()
+        protected override void ConfigureWebServer(FormatLineWriter writer)
         {
             var httpdConf = Path.Combine(this.WebTierApacheDir, "conf\\httpd.conf");
             var backup = httpdConf + ".instantsetupbak";
@@ -99,6 +99,8 @@
             else
                 File.Copy(backup, httpdConf, true); //Restore from original backup
 
+            writer("Writing httpd.conf");
+
             var httpdBuffer = new StringBuilder(File.ReadAllText(httpdConf));
 
             httpdBuffer.Replace("%MG_WEB_ROOT%", Apachify(this.WebTierPublicDir));
@@ -109,6 +111,8 @@
 
             if (this.EnableJava)
             {
+                writer("Including tomcat config in httpd.conf");
+
                 httpdBuffer.Replace("%MG_INCLUDE_TOMCAT%", "Include conf/tomcat.conf");
             }
             else
@@ -118,11 +122,15 @@
 
             if (this.DefaultViewer == ApiType.Java)
             {
+                writer("Activating mapviewerjava in httpd.conf");
+
                 httpdBuffer.Replace("%MG_PHP_API%", "#");
                 httpdBuffer.Replace("%MG_JAVA_API%", "");
             }
             else if (this.DefaultViewer == ApiType.Php)
             {
+                writer("Activating mapviewerphp in httpd.conf");
+
                 httpdBuffer.Replace("%MG_PHP_API%", "");
                 httpdBuffer.Replace("%MG_JAVA_API%", "#");
             }
@@ -144,19 +152,23 @@
 
             catalinaBuffer.Replace("%MG_WEB_ROOT%", this.WebTierPublicDir);
 
+            writer($"Saving conf\\Catalina\\localhost\\mapguide.xml");
             File.WriteAllText(catalinaConf, catalinaBuffer.ToString());
+            writer($"Saving conf\\tomcat.conf");
             File.WriteAllText(tomcatConf, tomcatBuffer.ToString());
+            writer($"Saving httpd.conf");
             File.WriteAllText(httpdConf, httpdBuffer.ToString());
         }
 
-        protected override void DoBackupConfigFiles()
+        protected override void DoBackupConfigFiles(FormatLineWriter writer)
         {
             
         }
 
-        protected override void WriteAdditionalBatchFiles()
+        protected override void WriteAdditionalBatchFiles(FormatLineWriter writer)
         {
             string httpdText = "";
+            writer("Writing mgwebtier.bat");
             if (this.WriteMentorDictionaryPath)
             {
                 //Write httpd batch file
@@ -170,10 +182,14 @@
                 File.WriteAllText(Path.Combine(this.BatchFileOutputDirectory, "mgwebtier.bat"), httpdText);
             }
 
+            writer("Writing mgapacheinstall.bat");
+
             //Write service installer batch file
             httpdText = string.Format(Properties.Resources.APACHE_WEB_INSTALL, Path.Combine(this.WebTierApacheDir, "bin"), this.HttpdServiceName);
             File.WriteAllText(Path.Combine(this.BatchFileOutputDirectory, "mgapacheinstall.bat"), httpdText);
 
+            writer("Writing mgapacheuninstall.bat");
+
             //Write service uninstaller batch file
             httpdText = string.Format(Properties.Resources.APACHE_WEB_UNINSTALL, Path.Combine(this.WebTierApacheDir, "bin"), this.HttpdServiceName);
             File.WriteAllText(Path.Combine(this.BatchFileOutputDirectory, "mgapacheuninstall.bat"), httpdText);

Modified: trunk/Tools/MgInstantSetup/InstantSetup.Core/AppCmd.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup.Core/AppCmd.cs	2022-08-09 16:39:11 UTC (rev 9953)
+++ trunk/Tools/MgInstantSetup/InstantSetup.Core/AppCmd.cs	2022-08-10 15:12:45 UTC (rev 9954)
@@ -153,15 +153,19 @@
         /// </summary>
         const string SET_MAPVIEWERNET_APP_POOL = "set app \"{0}/{1}/mapviewernet\" /applicationPool:\"{2}\"";
 
+        /// <summary>
+        /// 0 - web site name, 1 - virtual dir
+        /// </summary>
+        const string SET_MAPVIEWERNET_REQ_VALIDATION_MODE = "set config \"{0}/{1}/mapviewernet\" /section:system.web/httpRuntime /requestValidationMode:2.0";
+
         private string _webSite;
         private string _virtualDir;
         private string _appPoolName;
-        private bool _enable32BitAppsOnWin64;
         private string _webExtensionsRootDir;
         private string _phpDir;
         private string _appCmdPath;
 
-        public AppCmd(string appCmdPath, string webSite, string virtualDir, string appPoolName, string webExtensionsRootDir, string phpDir, bool enable32BitAppsOnWin64)
+        public AppCmd(string appCmdPath, string webSite, string virtualDir, string appPoolName, string webExtensionsRootDir, string phpDir)
         {
             if (!File.Exists(appCmdPath))
                 throw new FileNotFoundException(appCmdPath);
@@ -182,104 +186,113 @@
             _appPoolName = appPoolName;
             _webExtensionsRootDir = webExtensionsRootDir;
             _phpDir = phpDir;
-            _enable32BitAppsOnWin64 = enable32BitAppsOnWin64;
         }
 
-        private Process StartAppCmdProcess(string args)
+        private Process StartAppCmdProcess(FormatLineWriter writer, string args)
         {
             var psi = new ProcessStartInfo(_appCmdPath);
             psi.Arguments = args;
             psi.RedirectStandardOutput = true;
             psi.UseShellExecute = false;
-            Trace.TraceInformation("Running appcmd.exe " + args);
+            //Trace.TraceInformation("Running appcmd.exe " + args);
+            writer($"Running appcmd.exe with args: {args}");
             return Process.Start(psi);
         }
 
-        internal void SetupCore(bool b64BitMapGuide)
+        internal void SetupCore(FormatLineWriter writer, bool b64BitMapGuide)
         {
+            writer($"Running a series of appcmd calls to set up IIS (64-bit: {b64BitMapGuide})");
+
             Process p = null;
-            p = StartAppCmdProcess(string.Format(CREATE_FASTCGI, _phpDir));
+            p = StartAppCmdProcess(writer, string.Format(CREATE_FASTCGI, _phpDir));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(CREATE_APP_POOL, _appPoolName, _enable32BitAppsOnWin64 ? "true" : "false"));
+            p = StartAppCmdProcess(writer, string.Format(CREATE_APP_POOL, _appPoolName, !b64BitMapGuide ? "true" : "false"));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(SET_APP_POOL_PROPERTIES, _appPoolName));
+            p = StartAppCmdProcess(writer, string.Format(SET_APP_POOL_PROPERTIES, _appPoolName));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(UNLOCK_SERVER_HANDLERS);
+            p = StartAppCmdProcess(writer, UNLOCK_SERVER_HANDLERS);
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(UNLOCK_WEBSITE_HANDLERS, _webSite));
+            p = StartAppCmdProcess(writer, string.Format(UNLOCK_WEBSITE_HANDLERS, _webSite));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(CREATE_MAPGUIDE_VDIR, _webSite, _virtualDir, _webExtensionsRootDir));
+            p = StartAppCmdProcess(writer, string.Format(CREATE_MAPGUIDE_VDIR, _webSite, _virtualDir, _webExtensionsRootDir));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(CREATE_PHP_SCRIPT_MAPPING, _webSite, _virtualDir, _phpDir));
+            p = StartAppCmdProcess(writer, string.Format(CREATE_PHP_SCRIPT_MAPPING, _webSite, _virtualDir, _phpDir));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(CREATE_MAPAGENT_VDIR, _webSite, _virtualDir, _webExtensionsRootDir));
+            p = StartAppCmdProcess(writer, string.Format(CREATE_MAPAGENT_VDIR, _webSite, _virtualDir, _webExtensionsRootDir));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(UNLOCK_MAPAGENT_HANDLERS, _webSite, _virtualDir));
+            p = StartAppCmdProcess(writer, string.Format(UNLOCK_MAPAGENT_HANDLERS, _webSite, _virtualDir));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(SETUP_MAPAGENT_ISAPI, _webSite, _virtualDir, _webExtensionsRootDir));
+            p = StartAppCmdProcess(writer, string.Format(SETUP_MAPAGENT_ISAPI, _webSite, _virtualDir, _webExtensionsRootDir));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(SET_MAPAGENT_ISAPI_ACCESS, _webExtensionsRootDir));
+            p = StartAppCmdProcess(writer, string.Format(SET_MAPAGENT_ISAPI_ACCESS, _webExtensionsRootDir));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
+            /*
             if (!b64BitMapGuide)
             {
-                p = StartAppCmdProcess(string.Format(SET_32BIT_APP_POOL, _appPoolName));
+                p = StartAppCmdProcess(writer, string.Format(SET_32BIT_APP_POOL, _appPoolName));
                 Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             }
+            */
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(SET_MAPGUIDE_VDIR_APP_POOL, _webSite, _virtualDir, _appPoolName));
+            p = StartAppCmdProcess(writer, string.Format(SET_MAPGUIDE_VDIR_APP_POOL, _webSite, _virtualDir, _appPoolName));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(SET_MAPAGENT_VDIR_APP_POOL, _webSite, _virtualDir, _appPoolName));
+            p = StartAppCmdProcess(writer, string.Format(SET_MAPAGENT_VDIR_APP_POOL, _webSite, _virtualDir, _appPoolName));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(UNLOCK_HTTP_ERRORS_SERVER);
+            p = StartAppCmdProcess(writer, UNLOCK_HTTP_ERRORS_SERVER);
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(UNLOCK_HTTP_ERRORS_WEBSITE, _webSite));
+            p = StartAppCmdProcess(writer, string.Format(UNLOCK_HTTP_ERRORS_WEBSITE, _webSite));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(RESET_401_HANDLER, _webSite, _virtualDir));
+            p = StartAppCmdProcess(writer, string.Format(RESET_401_HANDLER, _webSite, _virtualDir));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(ADD_JSON_MIME_TYPE);
+            p = StartAppCmdProcess(writer, ADD_JSON_MIME_TYPE);
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
 
             //Setup mapviewernet
-            p = StartAppCmdProcess(string.Format(CREATE_MAPVIEWERNET_VDIR, _webSite, _virtualDir, _webExtensionsRootDir));
+            p = StartAppCmdProcess(writer, string.Format(CREATE_MAPVIEWERNET_VDIR, _webSite, _virtualDir, _webExtensionsRootDir));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(SET_MAPVIEWERNET_DEFAULT_DOC, _webSite, _virtualDir));
+            p = StartAppCmdProcess(writer, string.Format(SET_MAPVIEWERNET_DEFAULT_DOC, _webSite, _virtualDir));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
-            p = StartAppCmdProcess(string.Format(SET_MAPVIEWERNET_APP_POOL, _webSite, _virtualDir, _appPoolName));
+            p = StartAppCmdProcess(writer, string.Format(SET_MAPVIEWERNET_APP_POOL, _webSite, _virtualDir, _appPoolName));
             Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
             //if (p.ExitCode != 0) Debugger.Break();
+            p = StartAppCmdProcess(writer, string.Format(SET_MAPVIEWERNET_REQ_VALIDATION_MODE, _webSite, _virtualDir));
+            Trace.TraceInformation(p.StandardOutput.ReadToEnd()); p.WaitForExit();
+            //if (p.ExitCode != 0) Debugger.Break();
         }
 
-        internal void SetDefaultDotNetViewer()
+        internal void SetDefaultDotNetViewer(FormatLineWriter writer)
         {
-            StartAppCmdProcess(string.Format(CREATE_MAPVIEWERAJAX_NET, _webSite, _virtualDir, _webExtensionsRootDir)).WaitForExit();
-            StartAppCmdProcess(string.Format(SET_MAPVIEWERAJAX_DEFAULT_DOC_NET, _webSite, _virtualDir)).WaitForExit();
-            StartAppCmdProcess(string.Format(SET_MAPVIEWERAJAX_NET_APP_POOL, _webSite, _virtualDir, _appPoolName)).WaitForExit();
+            writer("Running a series of appcmd calls to setup mapviewernet");
+            StartAppCmdProcess(writer, string.Format(CREATE_MAPVIEWERAJAX_NET, _webSite, _virtualDir, _webExtensionsRootDir)).WaitForExit();
+            StartAppCmdProcess(writer, string.Format(SET_MAPVIEWERAJAX_DEFAULT_DOC_NET, _webSite, _virtualDir)).WaitForExit();
+            StartAppCmdProcess(writer, string.Format(SET_MAPVIEWERAJAX_NET_APP_POOL, _webSite, _virtualDir, _appPoolName)).WaitForExit();
         }
 
-        internal void SetDefaultPhpViewer()
+        internal void SetDefaultPhpViewer(FormatLineWriter writer)
         {
-            StartAppCmdProcess(string.Format(CREATE_MAPVIEWERAJAX_PHP, _webSite, _virtualDir, _webExtensionsRootDir)).WaitForExit();
-            StartAppCmdProcess(string.Format(SET_MAPVIEWERAJAX_DEFAULT_DOC_PHP, _webSite, _virtualDir)).WaitForExit();
-            StartAppCmdProcess(string.Format(SET_MAPVIEWERAJAX_PHP_APP_POOL, _webSite, _virtualDir, _appPoolName)).WaitForExit();
+            writer("Running a series of appcmd calls to setup mapviewerphp");
+            StartAppCmdProcess(writer, string.Format(CREATE_MAPVIEWERAJAX_PHP, _webSite, _virtualDir, _webExtensionsRootDir)).WaitForExit();
+            StartAppCmdProcess(writer, string.Format(SET_MAPVIEWERAJAX_DEFAULT_DOC_PHP, _webSite, _virtualDir)).WaitForExit();
+            StartAppCmdProcess(writer, string.Format(SET_MAPVIEWERAJAX_PHP_APP_POOL, _webSite, _virtualDir, _appPoolName)).WaitForExit();
         }
     }
 }

Modified: trunk/Tools/MgInstantSetup/InstantSetup.Core/IISSetupConfigurationProcess.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetup.Core/IISSetupConfigurationProcess.cs	2022-08-09 16:39:11 UTC (rev 9953)
+++ trunk/Tools/MgInstantSetup/InstantSetup.Core/IISSetupConfigurationProcess.cs	2022-08-10 15:12:45 UTC (rev 9954)
@@ -65,29 +65,29 @@
 
         public bool Enable32BitAppsOnWin64 { get; set; }
 
-        protected override void DoBackupConfigFiles()
+        protected override void DoBackupConfigFiles(FormatLineWriter writer)
         {
             
         }
 
-        protected override void ValidateConfigSettings()
+        protected override void ValidateConfigSettings(FormatLineWriter writer)
         {
             
         }
 
-        protected override void WriteAdditionalBatchFiles()
+        protected override void WriteAdditionalBatchFiles(FormatLineWriter writer)
         {
             
         }
 
-        protected override void ConfigureWebServer()
+        protected override void ConfigureWebServer(FormatLineWriter writer)
         {
-            var cmd = new AppCmd(this.AppCmdPath, this.WebSiteName, this.VirtualDirectoryName, this.ApplicationPool, this.WebTierRootDir, this.WebTierPhpDir, this.Enable32BitAppsOnWin64);
-            cmd.SetupCore(this.Is64BitMapGuide);
+            var cmd = new AppCmd(this.AppCmdPath, this.WebSiteName, this.VirtualDirectoryName, this.ApplicationPool, this.WebTierRootDir, this.WebTierPhpDir);
+            cmd.SetupCore(writer, this.Is64BitMapGuide);
             if (this.EnableDotNet)
-                cmd.SetDefaultDotNetViewer();
+                cmd.SetDefaultDotNetViewer(writer);
             else if (this.EnablePhp)
-                cmd.SetDefaultPhpViewer();
+                cmd.SetDefaultPhpViewer(writer);
         }
     }
 }

Modified: trunk/Tools/MgInstantSetup/InstantSetupCmd/Program.cs
===================================================================
--- trunk/Tools/MgInstantSetup/InstantSetupCmd/Program.cs	2022-08-09 16:39:11 UTC (rev 9953)
+++ trunk/Tools/MgInstantSetup/InstantSetupCmd/Program.cs	2022-08-10 15:12:45 UTC (rev 9954)
@@ -44,7 +44,7 @@
                         Console.WriteLine("FdoRegUtil - {0} returned {1}", res.DllPath, res.ReturnCode);
                     }
 
-                    proc.Execute();
+                    proc.Execute(Console.WriteLine);
                     Console.WriteLine("Batch scripts saved to: {0}", options.BatchFileOutputDirectory);
                     Environment.Exit(0);
                 }



More information about the mapguide-commits mailing list