CP-30251: Check version number to determine feature availability.

- In the New VM wizard, the boot mode control is only visible for Naples or greater hosts
- In the Import wizard, I had moved the boot mode options to a separate page, added after the target selection page, to allow the version check. The new "Boot options" page is only added for Naples or greater hosts.

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
This commit is contained in:
Mihaela Stoica 2018-12-14 14:56:27 +00:00
parent 703630ea36
commit d90340efbe
13 changed files with 750 additions and 121 deletions

View File

@ -35,23 +35,22 @@
this.m_textBoxVMName = new System.Windows.Forms.TextBox();
this.lblCPUs = new System.Windows.Forms.Label();
this.m_upDownCpuCount = new System.Windows.Forms.NumericUpDown();
this.lblMemory = new System.Windows.Forms.Label();
this.m_upDownMemory = new System.Windows.Forms.NumericUpDown();
this.label4 = new System.Windows.Forms.Label();
this.m_groupBoxAddSpace = new System.Windows.Forms.GroupBox();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.label1 = new System.Windows.Forms.Label();
this.m_upDownAddSpace = new System.Windows.Forms.NumericUpDown();
this.label5 = new System.Windows.Forms.Label();
this.m_ctrlError = new XenAdmin.Controls.Common.PasswordFailure();
this.bootModesControl1 = new XenAdmin.Wizards.BootModesControl();
this.label2 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.m_upDownMemory = new System.Windows.Forms.NumericUpDown();
this.lblMemory = new System.Windows.Forms.Label();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.m_upDownCpuCount)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.m_upDownMemory)).BeginInit();
this.m_groupBoxAddSpace.SuspendLayout();
this.tableLayoutPanel2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.m_upDownAddSpace)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.m_upDownMemory)).BeginInit();
this.SuspendLayout();
//
// tableLayoutPanel1
@ -65,9 +64,8 @@
this.tableLayoutPanel1.Controls.Add(this.lblMemory, 0, 4);
this.tableLayoutPanel1.Controls.Add(this.m_upDownMemory, 1, 4);
this.tableLayoutPanel1.Controls.Add(this.label4, 2, 4);
this.tableLayoutPanel1.Controls.Add(this.m_groupBoxAddSpace, 0, 6);
this.tableLayoutPanel1.Controls.Add(this.m_ctrlError, 0, 8);
this.tableLayoutPanel1.Controls.Add(this.bootModesControl1, 0, 5);
this.tableLayoutPanel1.Controls.Add(this.m_groupBoxAddSpace, 0, 5);
this.tableLayoutPanel1.Controls.Add(this.m_ctrlError, 0, 7);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
// lblIntro
@ -114,42 +112,6 @@
0});
this.m_upDownCpuCount.ValueChanged += new System.EventHandler(this.m_upDownCpuCount_ValueChanged);
//
// lblMemory
//
resources.ApplyResources(this.lblMemory, "lblMemory");
this.lblMemory.Name = "lblMemory";
//
// m_upDownMemory
//
this.m_upDownMemory.Increment = new decimal(new int[] {
256,
0,
0,
0});
resources.ApplyResources(this.m_upDownMemory, "m_upDownMemory");
this.m_upDownMemory.Maximum = new decimal(new int[] {
16128,
0,
0,
0});
this.m_upDownMemory.Minimum = new decimal(new int[] {
256,
0,
0,
0});
this.m_upDownMemory.Name = "m_upDownMemory";
this.m_upDownMemory.Value = new decimal(new int[] {
1024,
0,
0,
0});
this.m_upDownMemory.ValueChanged += new System.EventHandler(this.m_upDownMemory_ValueChanged);
//
// label4
//
resources.ApplyResources(this.label4, "label4");
this.label4.Name = "label4";
//
// m_groupBoxAddSpace
//
resources.ApplyResources(this.m_groupBoxAddSpace, "m_groupBoxAddSpace");
@ -208,18 +170,47 @@
this.tableLayoutPanel1.SetColumnSpan(this.m_ctrlError, 4);
this.m_ctrlError.Name = "m_ctrlError";
//
// bootModesControl1
//
this.bootModesControl1.BackColor = System.Drawing.SystemColors.Control;
this.tableLayoutPanel1.SetColumnSpan(this.bootModesControl1, 4);
resources.ApplyResources(this.bootModesControl1, "bootModesControl1");
this.bootModesControl1.Name = "bootModesControl1";
//
// label2
//
resources.ApplyResources(this.label2, "label2");
this.label2.Name = "label2";
//
// label4
//
resources.ApplyResources(this.label4, "label4");
this.label4.Name = "label4";
//
// m_upDownMemory
//
this.m_upDownMemory.Increment = new decimal(new int[] {
256,
0,
0,
0});
resources.ApplyResources(this.m_upDownMemory, "m_upDownMemory");
this.m_upDownMemory.Maximum = new decimal(new int[] {
16128,
0,
0,
0});
this.m_upDownMemory.Minimum = new decimal(new int[] {
256,
0,
0,
0});
this.m_upDownMemory.Name = "m_upDownMemory";
this.m_upDownMemory.Value = new decimal(new int[] {
1024,
0,
0,
0});
this.m_upDownMemory.ValueChanged += new System.EventHandler(this.m_upDownMemory_ValueChanged);
//
// lblMemory
//
resources.ApplyResources(this.lblMemory, "lblMemory");
this.lblMemory.Name = "lblMemory";
//
// ImageVMConfigPage
//
resources.ApplyResources(this, "$this");
@ -229,12 +220,12 @@
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.m_upDownCpuCount)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.m_upDownMemory)).EndInit();
this.m_groupBoxAddSpace.ResumeLayout(false);
this.m_groupBoxAddSpace.PerformLayout();
this.tableLayoutPanel2.ResumeLayout(false);
this.tableLayoutPanel2.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.m_upDownAddSpace)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.m_upDownMemory)).EndInit();
this.ResumeLayout(false);
}
@ -244,19 +235,18 @@
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private XenAdmin.Controls.Common.AutoHeightLabel lblIntro;
private System.Windows.Forms.Label lblCPUs;
private System.Windows.Forms.Label lblMemory;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.NumericUpDown m_upDownCpuCount;
private System.Windows.Forms.NumericUpDown m_upDownMemory;
private System.Windows.Forms.NumericUpDown m_upDownAddSpace;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.TextBox m_textBoxVMName;
private XenAdmin.Controls.Common.PasswordFailure m_ctrlError;
private System.Windows.Forms.GroupBox m_groupBoxAddSpace;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
private BootModesControl bootModesControl1;
private System.Windows.Forms.Label lblMemory;
private System.Windows.Forms.NumericUpDown m_upDownMemory;
private System.Windows.Forms.Label label4;
}
}

View File

@ -81,7 +81,6 @@ namespace XenAdmin.Wizards.ImportWizard
m_upDownMemory.Value = m_upDownMemory.Minimum;
m_upDownCpuCount.Value = m_upDownCpuCount.Minimum;
m_upDownAddSpace.Value = m_upDownAddSpace.Minimum;
bootModesControl1.CheckBIOSBootMode();
}
public override void SelectDefaultControl()
@ -107,9 +106,7 @@ namespace XenAdmin.Wizards.ImportWizard
public ulong Memory { get { return (ulong)m_upDownMemory.Value; } }
public ulong AdditionalSpace { get { return m_groupBoxAddSpace.Enabled ? (ulong)m_upDownAddSpace.Value * GB : 0; } }
public Actions.VMActions.BootMode SelectedBootMode { get { return bootModesControl1.SelectedOption; } }
#endregion
#region Private Methods

View File

@ -112,23 +112,23 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="lblIntro.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="lblIntro.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblIntro.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 0</value>
</data>
@ -175,7 +175,7 @@
<value>label3</value>
</data>
<data name="&gt;&gt;label3.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label3.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
@ -199,7 +199,7 @@
<value>m_textBoxVMName</value>
</data>
<data name="&gt;&gt;m_textBoxVMName.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;m_textBoxVMName.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
@ -229,7 +229,7 @@
<value>lblCPUs</value>
</data>
<data name="&gt;&gt;lblCPUs.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblCPUs.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
@ -253,7 +253,7 @@
<value>m_upDownCpuCount</value>
</data>
<data name="&gt;&gt;m_upDownCpuCount.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;m_upDownCpuCount.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
@ -267,6 +267,9 @@
<data name="lblMemory.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblMemory.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="lblMemory.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 104</value>
</data>
@ -286,7 +289,7 @@
<value>lblMemory</value>
</data>
<data name="&gt;&gt;lblMemory.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblMemory.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
@ -310,7 +313,7 @@
<value>m_upDownMemory</value>
</data>
<data name="&gt;&gt;m_upDownMemory.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;m_upDownMemory.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
@ -324,6 +327,9 @@
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label4.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>160, 104</value>
</data>
@ -340,7 +346,7 @@
<value>label4</value>
</data>
<data name="&gt;&gt;label4.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label4.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
@ -385,7 +391,7 @@
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>tableLayoutPanel2</value>
@ -409,7 +415,7 @@
<value>m_upDownAddSpace</value>
</data>
<data name="&gt;&gt;m_upDownAddSpace.Type" xml:space="preserve">
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;m_upDownAddSpace.Parent" xml:space="preserve">
<value>tableLayoutPanel2</value>
@ -439,7 +445,7 @@
<value>label5</value>
</data>
<data name="&gt;&gt;label5.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label5.Parent" xml:space="preserve">
<value>tableLayoutPanel2</value>
@ -466,7 +472,7 @@
<value>tableLayoutPanel2</value>
</data>
<data name="&gt;&gt;tableLayoutPanel2.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel2.Parent" xml:space="preserve">
<value>m_groupBoxAddSpace</value>
@ -481,7 +487,7 @@
<value>Fill</value>
</data>
<data name="m_groupBoxAddSpace.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 237</value>
<value>3, 127</value>
</data>
<data name="m_groupBoxAddSpace.Size" type="System.Drawing.Size, System.Drawing">
<value>572, 55</value>
@ -496,7 +502,7 @@
<value>m_groupBoxAddSpace</value>
</data>
<data name="&gt;&gt;m_groupBoxAddSpace.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;m_groupBoxAddSpace.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
@ -517,7 +523,7 @@
<value />
</data>
<data name="m_ctrlError.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 305</value>
<value>0, 195</value>
</data>
<data name="m_ctrlError.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value>
@ -540,39 +546,6 @@
<data name="&gt;&gt;m_ctrlError.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="bootModesControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="bootModesControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 129</value>
</data>
<data name="bootModesControl1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 0</value>
</data>
<data name="bootModesControl1.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>150, 105</value>
</data>
<data name="bootModesControl1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="bootModesControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>578, 105</value>
</data>
<data name="bootModesControl1.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;bootModesControl1.Name" xml:space="preserve">
<value>bootModesControl1</value>
</data>
<data name="&gt;&gt;bootModesControl1.Type" xml:space="preserve">
<value>XenAdmin.Wizards.BootModesControl, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;bootModesControl1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;bootModesControl1.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@ -580,7 +553,7 @@
<value>0, 0</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>10</value>
<value>9</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>578, 337</value>
@ -592,7 +565,7 @@
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>$this</value>
@ -601,7 +574,7 @@
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="lblIntro" Row="0" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="label3" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="m_textBoxVMName" Row="2" RowSpan="1" Column="1" ColumnSpan="3" /&gt;&lt;Control Name="lblCPUs" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="m_upDownCpuCount" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="lblMemory" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="m_upDownMemory" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label4" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="m_groupBoxAddSpace" Row="6" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="m_ctrlError" Row="8" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="bootModesControl1" Row="5" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0,Percent,100,Absolute,20,Absolute,20" /&gt;&lt;Rows Styles="AutoSize,0,Absolute,20,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,10,AutoSize,0,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="lblIntro" Row="0" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="label3" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="m_textBoxVMName" Row="2" RowSpan="1" Column="1" ColumnSpan="3" /&gt;&lt;Control Name="lblCPUs" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="m_upDownCpuCount" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="lblMemory" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="m_upDownMemory" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="label4" Row="4" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="m_groupBoxAddSpace" Row="5" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="m_ctrlError" Row="7" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0,AutoSize,0,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,Absolute,20,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,10,AutoSize,0,Absolute,20,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -622,9 +595,9 @@
<value>label2</value>
</data>
<data name="&gt;&gt;label2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">

View File

@ -0,0 +1,74 @@
namespace XenAdmin.Wizards.ImportWizard
{
partial class ImportBootOptionPage
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ImportBootOptionPage));
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.lblIntro = new XenAdmin.Controls.Common.AutoHeightLabel();
this.bootModesControl1 = new XenAdmin.Wizards.BootModesControl();
this.tableLayoutPanel1.SuspendLayout();
this.SuspendLayout();
//
// tableLayoutPanel1
//
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.Controls.Add(this.lblIntro, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.bootModesControl1, 0, 2);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
//
// lblIntro
//
resources.ApplyResources(this.lblIntro, "lblIntro");
this.lblIntro.Name = "lblIntro";
//
// bootModesControl1
//
this.bootModesControl1.BackColor = System.Drawing.SystemColors.Control;
resources.ApplyResources(this.bootModesControl1, "bootModesControl1");
this.bootModesControl1.Name = "bootModesControl1";
//
// ImportBootOptionPage
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.Controls.Add(this.tableLayoutPanel1);
this.Name = "ImportBootOptionPage";
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private Controls.Common.AutoHeightLabel lblIntro;
private BootModesControl bootModesControl1;
}
}

View File

@ -0,0 +1,52 @@
using XenAdmin.Controls;
namespace XenAdmin.Wizards.ImportWizard
{
public partial class ImportBootOptionPage : XenTabPage
{
public ImportBootOptionPage()
{
InitializeComponent();
}
#region Base class (XenTabPage) overrides
/// <summary>
/// Gets the page's title (headline)
/// </summary>
public override string PageTitle { get { return Messages.IMPORT_SELECT_BOOT_OPTIONS_PAGE_TITLE; } }
/// <summary>
/// Gets the page's label in the (left hand side) wizard progress panel
/// </summary>
public override string Text { get { return Messages.IMPORT_SELECT_BOOT_OPTIONS_PAGE_TEXT; } }
/// <summary>
/// Gets the value by which the help files section for this page is identified
/// </summary>
public override string HelpID { get { return "VMConfig"; } }
protected override bool ImplementsIsDirty()
{
return true;
}
protected override void PageLoadedCore(PageLoadedDirection direction)
{
}
public override void PopulatePage()
{
bootModesControl1.CheckBIOSBootMode();
}
#endregion
#region Accessors
public Actions.VMActions.BootMode SelectedBootMode { get { return bootModesControl1.SelectedOption; } }
#endregion
}
}

View File

@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="lblIntro.Text" xml:space="preserve">
<value>Select the boot mode that will be applied to the new virtual machine. </value>
</data>
</root>

View File

@ -0,0 +1,237 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="lblIntro.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="lblIntro.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="lblIntro.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblIntro.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 0</value>
</data>
<data name="lblIntro.Size" type="System.Drawing.Size, System.Drawing">
<value>572, 13</value>
</data>
<data name="lblIntro.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="lblIntro.Text" xml:space="preserve">
<value>Select the boot mode that will be applied to the new virtual machine.</value>
</data>
<data name="&gt;&gt;lblIntro.Name" xml:space="preserve">
<value>lblIntro</value>
</data>
<data name="&gt;&gt;lblIntro.Type" xml:space="preserve">
<value>XenAdmin.Controls.Common.AutoHeightLabel, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lblIntro.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;lblIntro.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="bootModesControl1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="bootModesControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 38</value>
</data>
<data name="bootModesControl1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 0</value>
</data>
<data name="bootModesControl1.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>150, 105</value>
</data>
<data name="bootModesControl1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="bootModesControl1.Size" type="System.Drawing.Size, System.Drawing">
<value>578, 299</value>
</data>
<data name="bootModesControl1.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="&gt;&gt;bootModesControl1.Name" xml:space="preserve">
<value>bootModesControl1</value>
</data>
<data name="&gt;&gt;bootModesControl1.Type" xml:space="preserve">
<value>XenAdmin.Wizards.BootModesControl, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;bootModesControl1.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;bootModesControl1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="tableLayoutPanel1.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>578, 337</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Name" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Type" xml:space="preserve">
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;tableLayoutPanel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="lblIntro" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="bootModesControl1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,Absolute,20,AutoSize,0,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>578, 337</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>ImportBootOptionPage</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Controls.XenTabPage, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>

View File

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblIntro.Size" type="System.Drawing.Size, System.Drawing">
<value>572, 26</value>
</data>
<data name="lblIntro.Text" xml:space="preserve">
<value>Select the boot mode that will be applied to the new virtual machine.
</value>
</data>
<data name="bootModesControl1.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 51</value>
</data>
</root>

View File

@ -68,6 +68,7 @@ namespace XenAdmin.Wizards.ImportWizard
private readonly NetworkPickerPage m_pageXvaNetwork;
private readonly GlobalSelectHost m_pageXvaHost;
private readonly LunPerVdiImportPage lunPerVdiMappingPage;
private readonly ImportBootOptionPage m_pageBootOptions;
private IXenObject m_selectedObject;
private Dictionary<string, VmMapping> m_vmMappings = new Dictionary<string, VmMapping>();
@ -100,6 +101,7 @@ namespace XenAdmin.Wizards.ImportWizard
m_pageXvaNetwork = new NetworkPickerPage();
m_pageXvaHost = new GlobalSelectHost();
lunPerVdiMappingPage = new LunPerVdiImportPage { Connection = con };
m_pageBootOptions = new ImportBootOptionPage();
m_selectedObject = xenObject;
m_pageTvmIp.IsExportMode = false;
@ -195,6 +197,7 @@ namespace XenAdmin.Wizards.ImportWizard
pictureBoxWizard.Image = Properties.Resources._000_ImportVirtualAppliance_h32bit_32;
m_pageFinish.ShowStartVmsGroupBox = false;
RemovePages(imagePages);
RemovePage(m_pageBootOptions);
RemovePages(xvaPages);
AddAfterPage(m_pageImportSource, appliancePages);
}
@ -236,6 +239,7 @@ namespace XenAdmin.Wizards.ImportWizard
pictureBoxWizard.Image = Properties.Resources._000_ImportVM_h32bit_32;
m_pageFinish.ShowStartVmsGroupBox = true;
RemovePages(imagePages);
RemovePage(m_pageBootOptions);
RemovePages(appliancePages);
AddAfterPage(m_pageImportSource, xvaPages);
}
@ -267,6 +271,13 @@ namespace XenAdmin.Wizards.ImportWizard
m_pageNetwork.Connection = TargetConnection;
m_pageOptions.Connection = TargetConnection;
m_pageTvmIp.Connection = TargetConnection;
RemovePage(m_pageBootOptions);
if (m_typeOfImport == ImportType.Vhd && Helpers.NaplesOrGreater(TargetConnection))
{
AddAfterPage(m_pageNetwork, m_pageBootOptions);
m_pageBootOptions.Connection = TargetConnection;
}
m_pageBootOptions.Connection = TargetConnection;
NotifyNextPagesOfChange(m_pageStorage, m_pageNetwork, m_pageOptions, m_pageTvmIp);
}
else if (type == typeof(ImportSelectStoragePage))
@ -524,7 +535,8 @@ namespace XenAdmin.Wizards.ImportWizard
temp.Add(new Tuple(Messages.FINISH_PAGE_VMNAME, m_pageVMconfig.VmName));
temp.Add(new Tuple(Messages.FINISH_PAGE_CPUCOUNT, m_pageVMconfig.CpuCount.ToString()));
temp.Add(new Tuple(Messages.FINISH_PAGE_MEMORY, string.Format(Messages.VAL_MB, m_pageVMconfig.Memory)));
temp.Add(new Tuple(Messages.BOOT_MODE, m_pageVMconfig.SelectedBootMode.StringOf()));
if (Helpers.NaplesOrGreater(TargetConnection))
temp.Add(new Tuple(Messages.BOOT_MODE, m_pageBootOptions.SelectedBootMode.StringOf()));
if (m_pageImportSource.IsWIM)
temp.Add(new Tuple(Messages.FINISH_PAGE_ADDSPACE, Util.DiskSizeString(m_pageVMconfig.AdditionalSpace)));
@ -689,7 +701,7 @@ namespace XenAdmin.Wizards.ImportWizard
OVF.AddVirtualSystemSettingData(env, systemID, hdwareSectionId, env.Name, Messages.VIRTUAL_MACHINE,
Messages.OVF_CREATED, guid, "hvm-3.0-unknown");
var bootMode = m_pageVMconfig.SelectedBootMode;
var bootMode = m_pageBootOptions.SelectedBootMode;
OVF.AddOtherSystemSettingData(env, systemID, "HVM_boot_policy", XenOvf.Properties.Settings.Default.xenBootOptions, OVF.GetContentMessage("OTHER_SYSTEM_SETTING_DESCRIPTION_2"));
var bootParams = XenOvf.Properties.Settings.Default.xenBootParams + (bootMode == BootMode.UEFI_BOOT || bootMode == BootMode.UEFI_SECURE_BOOT ? "firmware=uefi;" : string.Empty);
OVF.AddOtherSystemSettingData(env, systemID, "HVM_boot_params", bootParams, OVF.GetContentMessage("OTHER_SYSTEM_SETTING_DESCRIPTION_6"));

View File

@ -90,7 +90,7 @@ namespace XenAdmin.Wizards.NewVMWizard
PvBootBox.Visible = !IsSelectedTemplateHVM;
PvBootTextBox.Text = m_template.PV_args;
bootModesControl1.Visible = IsSelectedTemplateHVM;
bootModesControl1.Visible = Helpers.NaplesOrGreater(SelectedTemplate.Connection) && IsSelectedTemplateHVM;
bootModesControl1.TemplateVM = m_template;
if (!ShowInstallationMedia)
@ -282,7 +282,7 @@ namespace XenAdmin.Wizards.NewVMWizard
sum.Add(new KeyValuePair<string, string>(Messages.NEWVMWIZARD_NETWORKMEDIAPAGE_INSTALLATIONURL, SelectedUrl));
break;
}
if (IsSelectedTemplateHVM)
if (Helpers.NaplesOrGreater(SelectedTemplate.Connection) && IsSelectedTemplateHVM)
sum.Add(new KeyValuePair<string, string>(Messages.BOOT_MODE, SelectedBootMode.StringOf()));
return sum;
}

View File

@ -752,6 +752,12 @@
<Compile Include="Wizards\CrossPoolMigrateWizard\IntraPoolCopyPage.Designer.cs">
<DependentUpon>IntraPoolCopyPage.cs</DependentUpon>
</Compile>
<Compile Include="Wizards\ImportWizard\ImportBootOptionPage.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Wizards\ImportWizard\ImportBootOptionPage.Designer.cs">
<DependentUpon>ImportBootOptionPage.cs</DependentUpon>
</Compile>
<Compile Include="Wizards\WizardHelpers.cs" />
<Compile Include="Wizards\ImportWizard\HardwareCompatibilityFilter.cs" />
<Compile Include="Wizards\NewSRWizard_Pages\ChooseSrProvisioningPage.cs">
@ -2187,6 +2193,16 @@
<SubType>Designer</SubType>
<DependentUpon>RBACWarningPage.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Wizards\ImportWizard\ImportBootOptionPage.ja.resx">
<DependentUpon>ImportBootOptionPage.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Wizards\ImportWizard\ImportBootOptionPage.resx">
<DependentUpon>ImportBootOptionPage.cs</DependentUpon>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Wizards\ImportWizard\ImportBootOptionPage.zh-CN.resx">
<DependentUpon>ImportBootOptionPage.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Wizards\NewSRWizard_Pages\ChooseSrProvisioningPage.ja.resx">
<DependentUpon>ChooseSrProvisioningPage.cs</DependentUpon>
</EmbeddedResource>

View File

@ -18726,6 +18726,24 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to Boot options.
/// </summary>
public static string IMPORT_SELECT_BOOT_OPTIONS_PAGE_TEXT {
get {
return ResourceManager.GetString("IMPORT_SELECT_BOOT_OPTIONS_PAGE_TEXT", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Select the boot mode for the new virtual machine.
/// </summary>
public static string IMPORT_SELECT_BOOT_OPTIONS_PAGE_TITLE {
get {
return ResourceManager.GetString("IMPORT_SELECT_BOOT_OPTIONS_PAGE_TITLE", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Select the location where the imported VM will be placed.
/// </summary>

View File

@ -6576,6 +6576,12 @@ Click Configure HA to alter the settings displayed below.</value>
<data name="IMPORT_SELECT_APPLIANCE_PAGE_ERROR_SOURCE_IS_READONLY" xml:space="preserve">
<value>You do not have write permission on the location provided. Read-write access is required to import this type of file.</value>
</data>
<data name="IMPORT_SELECT_BOOT_OPTIONS_PAGE_TEXT" xml:space="preserve">
<value>Boot options</value>
</data>
<data name="IMPORT_SELECT_BOOT_OPTIONS_PAGE_TITLE" xml:space="preserve">
<value>Select the boot mode for the new virtual machine</value>
</data>
<data name="IMPORT_SELECT_HOST_PAGE_TITLE" xml:space="preserve">
<value>Select the location where the imported VM will be placed</value>
</data>