Merge pull request #997 from GaborApatiNagy/master_batch_new2

CP-15719: UI: Implement error handling/reporting on Upload & Install page
This commit is contained in:
Mihaela Stoica 2016-06-07 11:49:07 +01:00
commit 9acb45d9e7
50 changed files with 717 additions and 357 deletions

View File

@ -23,7 +23,7 @@ BRANDING_SERVER=XenServer
BRANDING_BRAND_CONSOLE=$(cat ${SCRATCH_DIR}/globals | grep -w BRAND_CONSOLE | sed -e 's/BRAND_CONSOLE=//g' -e 's/"//g') BRANDING_BRAND_CONSOLE=$(cat ${SCRATCH_DIR}/globals | grep -w BRAND_CONSOLE | sed -e 's/BRAND_CONSOLE=//g' -e 's/"//g')
# Check for the micro version override from declarations.sh and use it if present otherwise use the one from branding # Check for the micro version override from declarations.sh and use it if present otherwise use the one from branding
if [ -n "${PRODUCT_MICRO_VERSION_OVERRIDE+x}" ]; then if [ -n "${PRODUCT_MICRO_VERSION_OVERRIDE+x}" ]; then
BRANDING_PRODUCT_MICRO_VERSION=$BRANDING_PRODUCT_MICRO_VERSION_OVERRIDE BRANDING_PRODUCT_MICRO_VERSION=$PRODUCT_MICRO_VERSION_OVERRIDE
echo Using override for micro product number of: $BRANDING_PRODUCT_MICRO_VERSION echo Using override for micro product number of: $BRANDING_PRODUCT_MICRO_VERSION
else else
BRANDING_PRODUCT_MICRO_VERSION=$(cat ${SCRATCH_DIR}/globals | grep -w PRODUCT_MICRO_VERSION | sed -e 's/PRODUCT_MICRO_VERSION=//g' -e 's/"//g') BRANDING_PRODUCT_MICRO_VERSION=$(cat ${SCRATCH_DIR}/globals | grep -w PRODUCT_MICRO_VERSION | sed -e 's/PRODUCT_MICRO_VERSION=//g' -e 's/"//g')

View File

@ -28,8 +28,8 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE. # SUCH DAMAGE.
--- XenCenter.wxs Fri Apr 8 15:15:52 2016 --- XenCenter.wxs Mon May 23 11:07:59 2016
+++ XenCenter.l10n.wxs Fri Apr 8 15:29:38 2016 +++ XenCenter.l10n.wxs Mon May 23 11:09:01 2016
@@ -40,7 +40,7 @@ @@ -40,7 +40,7 @@
<?define HiddenFeatures="[BRANDING_HIDDEN_FEATURES]"?> <?define HiddenFeatures="[BRANDING_HIDDEN_FEATURES]"?>
<?define AdditionalFeatures="[BRANDING_ADDITIONAL_FEATURES]"?> <?define AdditionalFeatures="[BRANDING_ADDITIONAL_FEATURES]"?>
@ -135,7 +135,7 @@
</Extension> </Extension>
</ProgId> </ProgId>
</Component> </Component>
@@ -172,13 +174,37 @@ @@ -172,12 +174,34 @@
</Directory> </Directory>
<?else?> <?else?>
<Component Id="readmefile" Guid="[BRANDING_README_FILE_GUID]"> <Component Id="readmefile" Guid="[BRANDING_README_FILE_GUID]">
@ -146,11 +146,8 @@
<Directory Id="Help" Name="Help"> <Directory Id="Help" Name="Help">
<Component Id="HelpFiles" Guid="EA8D4F56-A94A-467c-9E6B-F3DC26F95B1E"> <Component Id="HelpFiles" Guid="EA8D4F56-A94A-467c-9E6B-F3DC26F95B1E">
<File Id="XenCenterCHM" Source="..\XenAdmin\bin\Release\Help\[XenCenter].chm" /> <File Id="XenCenterCHM" Source="..\XenAdmin\bin\Release\Help\[XenCenter].chm" />
<File Id="WLBCHM" Source="..\XenAdmin\bin\Release\Help\WLB.chm" />
+ <File Id="XenCenterJaCHM" Source="..\XenAdmin\bin\Release\Help\[XenCenter].ja.chm" /> + <File Id="XenCenterJaCHM" Source="..\XenAdmin\bin\Release\Help\[XenCenter].ja.chm" />
+ <File Id="WLBJaCHM" Source="..\XenAdmin\bin\Release\Help\WLB.ja.chm" /> + <File Id="XenCenterScCHM" Source="..\XenAdmin\bin\Release\Help\[XenCenter].zh-CN.chm" />
+ <File Id="XenCenterScCHM" Source="..\XenAdmin\bin\Release\Help\[XenCenter].zh-CN.chm" />
+ <File Id="WLBScCHM" Source="..\XenAdmin\bin\Release\Help\WLB.zh-CN.chm" />
+ </Component> + </Component>
+ </Directory> + </Directory>
+ <Directory Id="ja" Name="ja"> + <Directory Id="ja" Name="ja">
@ -174,7 +171,7 @@
</Component> </Component>
</Directory> </Directory>
<Directory Id="EXTERNALTOOLS" ShortName="External" Name="External Tools"> <Directory Id="EXTERNALTOOLS" ShortName="External" Name="External Tools">
@@ -223,7 +249,7 @@ @@ -222,7 +246,7 @@
Vital="no" Vital="no"
Name="XenServerHealthCheck" Name="XenServerHealthCheck"
DisplayName="[Citrix] [XenServer] Health Check Service" DisplayName="[Citrix] [XenServer] Health Check Service"
@ -183,7 +180,7 @@
Start="auto" Start="auto"
Account="LocalSystem" Account="LocalSystem"
ErrorControl="normal" ErrorControl="normal"
@@ -278,13 +304,15 @@ @@ -277,13 +301,15 @@
<Feature Id="MainProgram" Title="[Citrix] [XenCenter]" Description="[Citrix] [XenCenter]" Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no" InstallDefault="local" Absent="disallow" > <Feature Id="MainProgram" Title="[Citrix] [XenCenter]" Description="[Citrix] [XenCenter]" Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no" InstallDefault="local" Absent="disallow" >
<ComponentRef Id="MainExecutable" /> <ComponentRef Id="MainExecutable" />
<ComponentRef Id="HelpFiles" /> <ComponentRef Id="HelpFiles" />
@ -200,7 +197,7 @@
<ComponentRef Id="SchemasFilesComponent" /> <ComponentRef Id="SchemasFilesComponent" />
<ComponentRef Id="ExternalToolsComponent" /> <ComponentRef Id="ExternalToolsComponent" />
<ComponentRef Id="RegistryEntries" /> <ComponentRef Id="RegistryEntries" />
@@ -292,7 +320,7 @@ @@ -291,7 +317,7 @@
<ComponentRef Id="ProgramFilesShortcut" /> <ComponentRef Id="ProgramFilesShortcut" />
<?if "$(env.Branding)"="XenCenter"?> <?if "$(env.Branding)"="XenCenter"?>
@ -209,7 +206,7 @@
<ComponentRef Id="XenServerHealthCheck" /> <ComponentRef Id="XenServerHealthCheck" />
</Feature> </Feature>
<?else ?> <?else ?>
@@ -311,7 +339,7 @@ @@ -310,7 +336,7 @@
<Property Id="ARPPRODUCTICON" Value="XenCenterICO" /> <Property Id="ARPPRODUCTICON" Value="XenCenterICO" />
<MajorUpgrade AllowDowngrades="no" AllowSameVersionUpgrades="yes" DowngradeErrorMessage="!(loc.ErrorNewerProduct)" Schedule="afterInstallInitialize"/> <MajorUpgrade AllowDowngrades="no" AllowSameVersionUpgrades="yes" DowngradeErrorMessage="!(loc.ErrorNewerProduct)" Schedule="afterInstallInitialize"/>
<PropertyRef Id="NETFRAMEWORK45" /> <PropertyRef Id="NETFRAMEWORK45" />

View File

@ -178,7 +178,6 @@
<Directory Id="Help" Name="Help"> <Directory Id="Help" Name="Help">
<Component Id="HelpFiles" Guid="EA8D4F56-A94A-467c-9E6B-F3DC26F95B1E"> <Component Id="HelpFiles" Guid="EA8D4F56-A94A-467c-9E6B-F3DC26F95B1E">
<File Id="XenCenterCHM" Source="..\XenAdmin\bin\Release\Help\[XenCenter].chm" /> <File Id="XenCenterCHM" Source="..\XenAdmin\bin\Release\Help\[XenCenter].chm" />
<File Id="WLBCHM" Source="..\XenAdmin\bin\Release\Help\WLB.chm" />
</Component> </Component>
</Directory> </Directory>
<Directory Id="EXTERNALTOOLS" ShortName="External" Name="External Tools"> <Directory Id="EXTERNALTOOLS" ShortName="External" Name="External Tools">

View File

@ -170,6 +170,9 @@ namespace XenAdmin.Controls
public bool Equals(GpuTuple other) public bool Equals(GpuTuple other)
{ {
if (other == null)
return false;
if (GpuGroup == null && other.GpuGroup == null) if (GpuGroup == null && other.GpuGroup == null)
return true; return true;
if (GpuGroup == null || other.GpuGroup == null) if (GpuGroup == null || other.GpuGroup == null)
@ -195,6 +198,10 @@ namespace XenAdmin.Controls
if (!VgpuTypes[i].Equals(other.VgpuTypes[i])) if (!VgpuTypes[i].Equals(other.VgpuTypes[i]))
return false; return false;
} }
if ((IsGpuHeaderItem && other.IsVgpuSubitem) ||
(IsVgpuSubitem && other.IsGpuHeaderItem))
return false;
} }
return result; return result;

View File

@ -97,6 +97,7 @@ namespace XenAdmin.Dialogs
this.Controls.Add(this.DiskListTreeView); this.Controls.Add(this.DiskListTreeView);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
this.Name = "AttachDiskDialog"; this.Name = "AttachDiskDialog";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.AttachDiskDialog_FormClosing);
this.readonlyCheckboxToolTipContainer.ResumeLayout(false); this.readonlyCheckboxToolTipContainer.ResumeLayout(false);
this.readonlyCheckboxToolTipContainer.PerformLayout(); this.readonlyCheckboxToolTipContainer.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);

View File

@ -46,6 +46,7 @@ namespace XenAdmin.Dialogs
private DiskListVdiItem oldSelected = null; private DiskListVdiItem oldSelected = null;
private bool oldROState = false; private bool oldROState = false;
private Pool poolofone;
private readonly CollectionChangeEventHandler SR_CollectionChangedWithInvoke; private readonly CollectionChangeEventHandler SR_CollectionChangedWithInvoke;
public AttachDiskDialog(VM vm) : base(vm.Connection) public AttachDiskDialog(VM vm) : base(vm.Connection)
{ {
@ -60,7 +61,7 @@ namespace XenAdmin.Dialogs
SR_CollectionChangedWithInvoke = Program.ProgramInvokeHandler(SR_CollectionChanged); SR_CollectionChangedWithInvoke = Program.ProgramInvokeHandler(SR_CollectionChanged);
connection.Cache.RegisterCollectionChanged<SR>(SR_CollectionChangedWithInvoke); connection.Cache.RegisterCollectionChanged<SR>(SR_CollectionChangedWithInvoke);
Pool poolofone = Helpers.GetPoolOfOne(connection); poolofone = Helpers.GetPoolOfOne(connection);
if (poolofone != null) if (poolofone != null)
poolofone.PropertyChanged += Server_Changed; poolofone.PropertyChanged += Server_Changed;
@ -252,6 +253,26 @@ namespace XenAdmin.Dialogs
{ {
Close(); Close();
} }
private void AttachDiskDialog_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
// unsubscribe to events
foreach (SR sr in connection.Cache.SRs)
{
sr.PropertyChanged -= new PropertyChangedEventHandler(Server_Changed);
foreach (VDI TheVDI in sr.Connection.ResolveAllShownXenModelObjects(sr.VDIs, Properties.Settings.Default.ShowHiddenVMs))
{
TheVDI.PropertyChanged -= new PropertyChangedEventHandler(Server_Changed);
}
}
DiskListTreeView.SelectedIndexChanged -= DiskListTreeView_SelectedIndexChanged;
if (poolofone != null)
poolofone.PropertyChanged -= Server_Changed;
connection.Cache.DeregisterCollectionChanged<SR>(SR_CollectionChangedWithInvoke);
}
} }
public class DiskListSrItem : CustomTreeNode public class DiskListSrItem : CustomTreeNode
@ -363,7 +384,7 @@ namespace XenAdmin.Dialogs
Description = string.Format(Messages.ATTACHDISK_SIZE_DESCRIPTION, TheVDI.Description, Util.DiskSizeString(TheVDI.virtual_size)); Description = string.Format(Messages.ATTACHDISK_SIZE_DESCRIPTION, TheVDI.Description, Util.DiskSizeString(TheVDI.virtual_size));
else else
Description = Util.DiskSizeString(TheVDI.virtual_size); Description = Util.DiskSizeString(TheVDI.virtual_size);
Image = Properties.Resources._000_VirtualStorage_h32bit_16; Image = Images.GetImage16For(Icons.VDI);
} }
} }
else else
@ -375,7 +396,7 @@ namespace XenAdmin.Dialogs
Description = string.Format(Messages.ATTACHDISK_SIZE_DESCRIPTION, TheVDI.Description, Util.DiskSizeString(TheVDI.virtual_size)); Description = string.Format(Messages.ATTACHDISK_SIZE_DESCRIPTION, TheVDI.Description, Util.DiskSizeString(TheVDI.virtual_size));
else else
Description = Util.DiskSizeString(TheVDI.virtual_size); Description = Util.DiskSizeString(TheVDI.virtual_size);
Image = Properties.Resources._000_VirtualStorage_h32bit_16; Image = Images.GetImage16For(Icons.VDI);
} }
} }

View File

@ -102,7 +102,7 @@ namespace XenAdmin.Dialogs.HealthCheck
void Pool_BatchCollectionChanged(object sender, EventArgs e) void Pool_BatchCollectionChanged(object sender, EventArgs e)
{ {
LoadPools(); Program.Invoke(Program.MainWindow, LoadPools);
} }
#region PoolRow #region PoolRow

View File

@ -129,12 +129,12 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="OKButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="OKButton.Location" type="System.Drawing.Point, System.Drawing">
<value>353, 94</value> <value>353, 127</value>
</data> </data>
<data name="OKButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="OKButton.Size" type="System.Drawing.Size, System.Drawing">
<value>79, 23</value> <value>79, 23</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="OKButton.TabIndex" type="System.Int32, mscorlib"> <data name="OKButton.TabIndex" type="System.Int32, mscorlib">
<value>8</value> <value>8</value>
</data> </data>
@ -166,7 +166,7 @@
<value>None</value> <value>None</value>
</data> </data>
<data name="policyStatementTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="policyStatementTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>424, 93</value> <value>424, 113</value>
</data> </data>
<data name="policyStatementTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="policyStatementTextBox.TabIndex" type="System.Int32, mscorlib">
<value>7</value> <value>7</value>
@ -186,14 +186,14 @@
<data name="&gt;&gt;policyStatementTextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;policyStatementTextBox.ZOrder" xml:space="preserve">
<value>1</value> <value>1</value>
</data> </data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <data name="$this.Localizable" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
</metadata> </data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value> <value>96, 96</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>444, 129</value> <value>444, 162</value>
</data> </data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing"> <data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>

View File

@ -129,7 +129,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="OKButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="OKButton.Location" type="System.Drawing.Point, System.Drawing">
<value>353, 94</value> <value>353, 127</value>
</data> </data>
<data name="OKButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="OKButton.Size" type="System.Drawing.Size, System.Drawing">
<value>79, 23</value> <value>79, 23</value>
@ -166,7 +166,7 @@
<value>None</value> <value>None</value>
</data> </data>
<data name="policyStatementTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="policyStatementTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>424, 80</value> <value>424, 113</value>
</data> </data>
<data name="policyStatementTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="policyStatementTextBox.TabIndex" type="System.Int32, mscorlib">
<value>7</value> <value>7</value>
@ -193,7 +193,7 @@
<value>96, 96</value> <value>96, 96</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>444, 129</value> <value>444, 162</value>
</data> </data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing"> <data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
@ -210,4 +210,4 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve"> <data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
</root> </root>

View File

@ -129,12 +129,12 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="OKButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="OKButton.Location" type="System.Drawing.Point, System.Drawing">
<value>353, 94</value> <value>353, 127</value>
</data> </data>
<data name="OKButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="OKButton.Size" type="System.Drawing.Size, System.Drawing">
<value>79, 23</value> <value>79, 23</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="OKButton.TabIndex" type="System.Int32, mscorlib"> <data name="OKButton.TabIndex" type="System.Int32, mscorlib">
<value>8</value> <value>8</value>
</data> </data>
@ -166,7 +166,7 @@
<value>None</value> <value>None</value>
</data> </data>
<data name="policyStatementTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="policyStatementTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>424, 90</value> <value>424, 113</value>
</data> </data>
<data name="policyStatementTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="policyStatementTextBox.TabIndex" type="System.Int32, mscorlib">
<value>7</value> <value>7</value>
@ -186,14 +186,14 @@
<data name="&gt;&gt;policyStatementTextBox.ZOrder" xml:space="preserve"> <data name="&gt;&gt;policyStatementTextBox.ZOrder" xml:space="preserve">
<value>1</value> <value>1</value>
</data> </data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <data name="$this.Localizable" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
</metadata> </data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value> <value>96, 96</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>444, 129</value> <value>444, 162</value>
</data> </data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing"> <data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>

View File

@ -211,6 +211,7 @@ namespace XenAdmin.Dialogs.HealthCheck
this.tableLayoutPanel2.SetColumnSpan(this.authenticationRubricTextBox, 2); this.tableLayoutPanel2.SetColumnSpan(this.authenticationRubricTextBox, 2);
this.authenticationRubricTextBox.Cursor = System.Windows.Forms.Cursors.Default; this.authenticationRubricTextBox.Cursor = System.Windows.Forms.Cursors.Default;
this.authenticationRubricTextBox.Name = "authenticationRubricTextBox"; this.authenticationRubricTextBox.Name = "authenticationRubricTextBox";
this.authenticationRubricTextBox.ReadOnly = true;
this.authenticationRubricTextBox.ShortcutsEnabled = false; this.authenticationRubricTextBox.ShortcutsEnabled = false;
this.authenticationRubricTextBox.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.authenticationRubricTextBox_LinkClicked); this.authenticationRubricTextBox.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.authenticationRubricTextBox_LinkClicked);
// //

View File

@ -59,46 +59,46 @@
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element msdata:IsDataSet="true" name="root"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element minOccurs="0" name="value" type="xsd:string"/> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string"/> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string"/> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space"/> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string"/> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element minOccurs="0" msdata:Ordinal="1" name="value" type="xsd:string"/> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element minOccurs="0" msdata:Ordinal="2" name="comment" type="xsd:string"/> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute msdata:Ordinal="1" name="name" type="xsd:string" use="required"/> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute msdata:Ordinal="3" name="type" type="xsd:string"/> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute msdata:Ordinal="4" name="mimetype" type="xsd:string"/> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space"/> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element minOccurs="0" msdata:Ordinal="1" name="value" type="xsd:string"/> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
@ -117,15 +117,15 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.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> </resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.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="okButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="okButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value> <value>Bottom, Right</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="okButton.AutoSize" type="System.Boolean, mscorlib"> <data name="okButton.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.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="okButton.Font" type="System.Drawing.Font, System.Drawing"> <data name="okButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
@ -487,7 +487,7 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="tableLayoutPanel4.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel4.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?>&lt;TableLayoutSettings>&lt;Controls>&lt;Control Name="frequencyLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="frequencyNumericBox" Row="0" RowSpan="1" Column="1" ColumnSpan="1" />&lt;Control Name="weeksLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" />&lt;Control Name="dayOfweekLabel" Row="2" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="timeOfDayLabel" Row="1" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="timeOfDayComboBox" Row="1" RowSpan="1" Column="1" ColumnSpan="2" />&lt;Control Name="dayOfWeekComboBox" Row="2" RowSpan="1" Column="1" ColumnSpan="2" />&lt;/Controls>&lt;Columns Styles="AutoSize,0,AutoSize,0,Percent,100" />&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" />&lt;/TableLayoutSettings></value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="frequencyLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="frequencyNumericBox" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="weeksLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="dayOfweekLabel" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="timeOfDayLabel" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="timeOfDayComboBox" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="dayOfWeekComboBox" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<data name="decentGroupBox2.Font" type="System.Drawing.Font, System.Drawing"> <data name="decentGroupBox2.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Bold</value> <value>Segoe UI, 9pt, style=Bold</value>
@ -553,7 +553,7 @@
<value>None</value> <value>None</value>
</data> </data>
<data name="authenticationRubricTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="authenticationRubricTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>589, 46</value> <value>589, 72</value>
</data> </data>
<data name="authenticationRubricTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="authenticationRubricTextBox.TabIndex" type="System.Int32, mscorlib">
<value>24</value> <value>24</value>
@ -586,13 +586,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing"> <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 106</value> <value>20, 132</value>
</data> </data>
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing"> <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label1.TabIndex" type="System.Int32, mscorlib"> <data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>33</value> <value>33</value>
@ -628,13 +628,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing"> <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 135</value> <value>20, 161</value>
</data> </data>
<data name="label2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="label2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing"> <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label2.TabIndex" type="System.Int32, mscorlib"> <data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>35</value> <value>35</value>
@ -661,7 +661,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textBoxMyCitrixPassword.Location" type="System.Drawing.Point, System.Drawing"> <data name="textBoxMyCitrixPassword.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 138</value> <value>89, 164</value>
</data> </data>
<data name="textBoxMyCitrixPassword.Size" type="System.Drawing.Size, System.Drawing"> <data name="textBoxMyCitrixPassword.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -685,7 +685,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textBoxMyCitrixUsername.Location" type="System.Drawing.Point, System.Drawing"> <data name="textBoxMyCitrixUsername.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 109</value> <value>89, 135</value>
</data> </data>
<data name="textBoxMyCitrixUsername.Size" type="System.Drawing.Size, System.Drawing"> <data name="textBoxMyCitrixUsername.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -715,7 +715,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="existingAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="existingAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 59</value> <value>3, 85</value>
</data> </data>
<data name="existingAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="existingAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>167, 19</value> <value>167, 19</value>
@ -748,7 +748,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="newAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="newAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 84</value> <value>3, 110</value>
</data> </data>
<data name="newAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="newAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>232, 19</value> <value>232, 19</value>
@ -787,7 +787,7 @@
<value>5</value> <value>5</value>
</data> </data>
<data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing"> <data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
<value>591, 167</value> <value>591, 193</value>
</data> </data>
<data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib"> <data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
<value>14</value> <value>14</value>
@ -805,7 +805,7 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?>&lt;TableLayoutSettings>&lt;Controls>&lt;Control Name="authenticationRubricTextBox" Row="0" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="label1" Row="3" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="label2" Row="4" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="textBoxMyCitrixPassword" Row="4" RowSpan="1" Column="1" ColumnSpan="1" />&lt;Control Name="textBoxMyCitrixUsername" Row="3" RowSpan="1" Column="1" ColumnSpan="1" />&lt;Control Name="existingAuthenticationRadioButton" Row="1" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="newAuthenticationRadioButton" Row="2" RowSpan="1" Column="0" ColumnSpan="2" />&lt;/Controls>&lt;Columns Styles="AutoSize,0,Percent,100,Absolute,20" />&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" />&lt;/TableLayoutSettings></value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="authenticationRubricTextBox" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label1" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label2" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="textBoxMyCitrixPassword" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="textBoxMyCitrixUsername" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="existingAuthenticationRadioButton" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="newAuthenticationRadioButton" Row="2" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<data name="decentGroupBox1.Font" type="System.Drawing.Font, System.Drawing"> <data name="decentGroupBox1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Bold</value> <value>Segoe UI, 9pt, style=Bold</value>
@ -814,7 +814,7 @@
<value>11, 402</value> <value>11, 402</value>
</data> </data>
<data name="decentGroupBox1.Size" type="System.Drawing.Size, System.Drawing"> <data name="decentGroupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>597, 188</value> <value>597, 218</value>
</data> </data>
<data name="decentGroupBox1.TabIndex" type="System.Int32, mscorlib"> <data name="decentGroupBox1.TabIndex" type="System.Int32, mscorlib">
<value>4</value> <value>4</value>
@ -910,7 +910,7 @@
<value>3</value> <value>3</value>
</data> </data>
<data name="m_ctrlError.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="m_ctrlError.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value> <value>Top, Left, Right</value>
</data> </data>
<data name="m_ctrlError.AutoSize" type="System.Boolean, mscorlib"> <data name="m_ctrlError.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -919,19 +919,19 @@
<value>GrowAndShrink</value> <value>GrowAndShrink</value>
</data> </data>
<data name="m_ctrlError.Error" xml:space="preserve"> <data name="m_ctrlError.Error" xml:space="preserve">
<value/> <value />
</data> </data>
<data name="m_ctrlError.Font" type="System.Drawing.Font, System.Drawing"> <data name="m_ctrlError.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="m_ctrlError.Location" type="System.Drawing.Point, System.Drawing"> <data name="m_ctrlError.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 593</value> <value>11, 623</value>
</data> </data>
<data name="m_ctrlError.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="m_ctrlError.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 0, 3, 0</value> <value>3, 0, 3, 0</value>
</data> </data>
<data name="m_ctrlError.Size" type="System.Drawing.Size, System.Drawing"> <data name="m_ctrlError.Size" type="System.Drawing.Size, System.Drawing">
<value>434, 42</value> <value>434, 22</value>
</data> </data>
<data name="m_ctrlError.TabIndex" type="System.Int32, mscorlib"> <data name="m_ctrlError.TabIndex" type="System.Int32, mscorlib">
<value>27</value> <value>27</value>
@ -952,7 +952,7 @@
<value>4</value> <value>4</value>
</data> </data>
<data name="flowLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="flowLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value> <value>Bottom, Left, Right</value>
</data> </data>
<data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms"> <data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value> <value>GrowAndShrink</value>
@ -964,13 +964,13 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing"> <data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>448, 593</value> <value>421, 627</value>
</data> </data>
<data name="flowLayoutPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="flowLayoutPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing"> <data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 42</value> <value>190, 36</value>
</data> </data>
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib"> <data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>5</value> <value>5</value>
@ -1054,13 +1054,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="errorLabel.Location" type="System.Drawing.Point, System.Drawing"> <data name="errorLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>216, 138</value> <value>213, 138</value>
</data> </data>
<data name="errorLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="errorLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 0</value> <value>0, 5, 0, 0</value>
</data> </data>
<data name="errorLabel.Size" type="System.Drawing.Size, System.Drawing"> <data name="errorLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>375, 20</value> <value>378, 20</value>
</data> </data>
<data name="errorLabel.TabIndex" type="System.Int32, mscorlib"> <data name="errorLabel.TabIndex" type="System.Int32, mscorlib">
<value>120</value> <value>120</value>
@ -1087,7 +1087,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="testCredentialsStatusImage.Location" type="System.Drawing.Point, System.Drawing"> <data name="testCredentialsStatusImage.Location" type="System.Drawing.Point, System.Drawing">
<value>197, 138</value> <value>194, 138</value>
</data> </data>
<data name="testCredentialsStatusImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="testCredentialsStatusImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 5, 3, 3</value> <value>3, 5, 3, 3</value>
@ -1174,7 +1174,7 @@
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing"> <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label4.TabIndex" type="System.Int32, mscorlib"> <data name="label4.TabIndex" type="System.Int32, mscorlib">
<value>23</value> <value>23</value>
@ -1216,7 +1216,7 @@
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing"> <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label5.TabIndex" type="System.Int32, mscorlib"> <data name="label5.TabIndex" type="System.Int32, mscorlib">
<value>25</value> <value>25</value>
@ -1243,7 +1243,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textboxXSPassword.Location" type="System.Drawing.Point, System.Drawing"> <data name="textboxXSPassword.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 107</value> <value>89, 107</value>
</data> </data>
<data name="textboxXSPassword.Size" type="System.Drawing.Size, System.Drawing"> <data name="textboxXSPassword.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -1267,7 +1267,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textboxXSUserName.Location" type="System.Drawing.Point, System.Drawing"> <data name="textboxXSUserName.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 78</value> <value>89, 78</value>
</data> </data>
<data name="textboxXSUserName.Size" type="System.Drawing.Size, System.Drawing"> <data name="textboxXSUserName.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -1366,7 +1366,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="testCredentialsButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="testCredentialsButton.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 133</value> <value>89, 133</value>
</data> </data>
<data name="testCredentialsButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="testCredentialsButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 0, 3, 0</value> <value>3, 0, 3, 0</value>
@ -1426,7 +1426,7 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="tableLayoutPanel3.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel3.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?>&lt;TableLayoutSettings>&lt;Controls>&lt;Control Name="errorLabel" Row="5" RowSpan="1" Column="3" ColumnSpan="1" />&lt;Control Name="testCredentialsStatusImage" Row="5" RowSpan="1" Column="2" ColumnSpan="1" />&lt;Control Name="label3" Row="0" RowSpan="1" Column="0" ColumnSpan="4" />&lt;Control Name="label4" Row="3" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="label5" Row="4" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="textboxXSPassword" Row="4" RowSpan="1" Column="1" ColumnSpan="3" />&lt;Control Name="textboxXSUserName" Row="3" RowSpan="1" Column="1" ColumnSpan="3" />&lt;Control Name="currentXsCredentialsRadioButton" Row="1" RowSpan="1" Column="0" ColumnSpan="4" />&lt;Control Name="newXsCredentialsRadioButton" Row="2" RowSpan="1" Column="0" ColumnSpan="4" />&lt;Control Name="testCredentialsButton" Row="5" RowSpan="1" Column="1" ColumnSpan="1" />&lt;/Controls>&lt;Columns Styles="AutoSize,0,AutoSize,100,AutoSize,50,Percent,100" />&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,25" />&lt;/TableLayoutSettings></value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="errorLabel" Row="5" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;Control Name="testCredentialsStatusImage" Row="5" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="label3" Row="0" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="label4" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label5" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="textboxXSPassword" Row="4" RowSpan="1" Column="1" ColumnSpan="3" /&gt;&lt;Control Name="textboxXSUserName" Row="3" RowSpan="1" Column="1" ColumnSpan="3" /&gt;&lt;Control Name="currentXsCredentialsRadioButton" Row="1" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="newXsCredentialsRadioButton" Row="2" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="testCredentialsButton" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,100,AutoSize,50,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,25" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<data name="decentGroupBoxXSCredentials.Font" type="System.Drawing.Font, System.Drawing"> <data name="decentGroupBoxXSCredentials.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Bold</value> <value>Segoe UI, 9pt, style=Bold</value>
@ -1471,7 +1471,7 @@
<value>11</value> <value>11</value>
</data> </data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing"> <data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>619, 632</value> <value>619, 671</value>
</data> </data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib"> <data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>9</value> <value>9</value>
@ -1489,16 +1489,16 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?>&lt;TableLayoutSettings>&lt;Controls>&lt;Control Name="decentGroupBox2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="decentGroupBox1" Row="8" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="rubricLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="PolicyStatementLinkLabel" Row="1" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="m_ctrlError" Row="10" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="flowLayoutPanel1" Row="10" RowSpan="1" Column="1" ColumnSpan="1" />&lt;Control Name="enrollmentCheckBox" Row="2" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="decentGroupBoxXSCredentials" Row="7" RowSpan="1" Column="0" ColumnSpan="2" />&lt;/Controls>&lt;Columns Styles="Percent,100,AutoSize,0" />&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" />&lt;/TableLayoutSettings></value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="decentGroupBox2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="decentGroupBox1" Row="8" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="rubricLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="PolicyStatementLinkLabel" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="m_ctrlError" Row="10" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="flowLayoutPanel1" Row="10" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="enrollmentCheckBox" Row="2" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="decentGroupBoxXSCredentials" Row="7" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <data name="$this.Localizable" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
</metadata> </data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value> <value>96, 96</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>619, 632</value> <value>619, 671</value>
</data> </data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing"> <data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
@ -1515,4 +1515,4 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve"> <data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
</root> </root>

View File

@ -133,7 +133,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 3</value> <value>31, 3</value>
</data> </data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 25</value> <value>75, 25</value>
@ -166,7 +166,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>85, 3</value> <value>112, 3</value>
</data> </data>
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 25</value> <value>75, 25</value>
@ -553,7 +553,7 @@
<value>None</value> <value>None</value>
</data> </data>
<data name="authenticationRubricTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="authenticationRubricTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>589, 46</value> <value>589, 72</value>
</data> </data>
<data name="authenticationRubricTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="authenticationRubricTextBox.TabIndex" type="System.Int32, mscorlib">
<value>24</value> <value>24</value>
@ -586,19 +586,19 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing"> <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 106</value> <value>20, 132</value>
</data> </data>
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing"> <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label1.TabIndex" type="System.Int32, mscorlib"> <data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>33</value> <value>33</value>
</data> </data>
<data name="label1.Text" xml:space="preserve"> <data name="label1.Text" xml:space="preserve">
<value>U&amp;ser name:</value> <value>U&amp;sername:</value>
</data> </data>
<data name="label1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing"> <data name="label1.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value> <value>MiddleLeft</value>
@ -628,13 +628,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing"> <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 135</value> <value>20, 161</value>
</data> </data>
<data name="label2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="label2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing"> <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label2.TabIndex" type="System.Int32, mscorlib"> <data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>35</value> <value>35</value>
@ -661,7 +661,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textBoxMyCitrixPassword.Location" type="System.Drawing.Point, System.Drawing"> <data name="textBoxMyCitrixPassword.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 138</value> <value>89, 164</value>
</data> </data>
<data name="textBoxMyCitrixPassword.Size" type="System.Drawing.Size, System.Drawing"> <data name="textBoxMyCitrixPassword.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -685,7 +685,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textBoxMyCitrixUsername.Location" type="System.Drawing.Point, System.Drawing"> <data name="textBoxMyCitrixUsername.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 109</value> <value>89, 135</value>
</data> </data>
<data name="textBoxMyCitrixUsername.Size" type="System.Drawing.Size, System.Drawing"> <data name="textBoxMyCitrixUsername.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -715,7 +715,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="existingAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="existingAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 59</value> <value>3, 85</value>
</data> </data>
<data name="existingAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="existingAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>167, 19</value> <value>167, 19</value>
@ -748,7 +748,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="newAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="newAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 84</value> <value>3, 110</value>
</data> </data>
<data name="newAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="newAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>232, 19</value> <value>232, 19</value>
@ -787,7 +787,7 @@
<value>5</value> <value>5</value>
</data> </data>
<data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing"> <data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
<value>591, 167</value> <value>591, 193</value>
</data> </data>
<data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib"> <data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
<value>14</value> <value>14</value>
@ -814,7 +814,7 @@
<value>11, 402</value> <value>11, 402</value>
</data> </data>
<data name="decentGroupBox1.Size" type="System.Drawing.Size, System.Drawing"> <data name="decentGroupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>597, 188</value> <value>597, 218</value>
</data> </data>
<data name="decentGroupBox1.TabIndex" type="System.Int32, mscorlib"> <data name="decentGroupBox1.TabIndex" type="System.Int32, mscorlib">
<value>4</value> <value>4</value>
@ -910,7 +910,7 @@
<value>3</value> <value>3</value>
</data> </data>
<data name="m_ctrlError.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="m_ctrlError.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value> <value>Top, Left, Right</value>
</data> </data>
<data name="m_ctrlError.AutoSize" type="System.Boolean, mscorlib"> <data name="m_ctrlError.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -925,13 +925,13 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="m_ctrlError.Location" type="System.Drawing.Point, System.Drawing"> <data name="m_ctrlError.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 593</value> <value>11, 623</value>
</data> </data>
<data name="m_ctrlError.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="m_ctrlError.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 0, 3, 0</value> <value>3, 0, 3, 0</value>
</data> </data>
<data name="m_ctrlError.Size" type="System.Drawing.Size, System.Drawing"> <data name="m_ctrlError.Size" type="System.Drawing.Size, System.Drawing">
<value>434, 42</value> <value>407, 22</value>
</data> </data>
<data name="m_ctrlError.TabIndex" type="System.Int32, mscorlib"> <data name="m_ctrlError.TabIndex" type="System.Int32, mscorlib">
<value>27</value> <value>27</value>
@ -952,7 +952,7 @@
<value>4</value> <value>4</value>
</data> </data>
<data name="flowLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="flowLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value> <value>Bottom, Left, Right</value>
</data> </data>
<data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms"> <data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value> <value>GrowAndShrink</value>
@ -964,13 +964,13 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing"> <data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>448, 593</value> <value>421, 627</value>
</data> </data>
<data name="flowLayoutPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="flowLayoutPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing"> <data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 42</value> <value>190, 36</value>
</data> </data>
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib"> <data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>5</value> <value>5</value>
@ -1054,13 +1054,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="errorLabel.Location" type="System.Drawing.Point, System.Drawing"> <data name="errorLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>216, 138</value> <value>213, 138</value>
</data> </data>
<data name="errorLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="errorLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 0</value> <value>0, 5, 0, 0</value>
</data> </data>
<data name="errorLabel.Size" type="System.Drawing.Size, System.Drawing"> <data name="errorLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>375, 20</value> <value>378, 20</value>
</data> </data>
<data name="errorLabel.TabIndex" type="System.Int32, mscorlib"> <data name="errorLabel.TabIndex" type="System.Int32, mscorlib">
<value>120</value> <value>120</value>
@ -1087,7 +1087,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="testCredentialsStatusImage.Location" type="System.Drawing.Point, System.Drawing"> <data name="testCredentialsStatusImage.Location" type="System.Drawing.Point, System.Drawing">
<value>197, 138</value> <value>194, 138</value>
</data> </data>
<data name="testCredentialsStatusImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="testCredentialsStatusImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 5, 3, 3</value> <value>3, 5, 3, 3</value>
@ -1174,13 +1174,13 @@
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing"> <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label4.TabIndex" type="System.Int32, mscorlib"> <data name="label4.TabIndex" type="System.Int32, mscorlib">
<value>23</value> <value>23</value>
</data> </data>
<data name="label4.Text" xml:space="preserve"> <data name="label4.Text" xml:space="preserve">
<value>&amp;User name:</value> <value>&amp;Username:</value>
</data> </data>
<data name="label4.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing"> <data name="label4.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value> <value>MiddleLeft</value>
@ -1216,7 +1216,7 @@
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing"> <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label5.TabIndex" type="System.Int32, mscorlib"> <data name="label5.TabIndex" type="System.Int32, mscorlib">
<value>25</value> <value>25</value>
@ -1243,7 +1243,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textboxXSPassword.Location" type="System.Drawing.Point, System.Drawing"> <data name="textboxXSPassword.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 107</value> <value>89, 107</value>
</data> </data>
<data name="textboxXSPassword.Size" type="System.Drawing.Size, System.Drawing"> <data name="textboxXSPassword.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -1267,7 +1267,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textboxXSUserName.Location" type="System.Drawing.Point, System.Drawing"> <data name="textboxXSUserName.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 78</value> <value>89, 78</value>
</data> </data>
<data name="textboxXSUserName.Size" type="System.Drawing.Size, System.Drawing"> <data name="textboxXSUserName.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -1303,7 +1303,7 @@
<value>3, 28</value> <value>3, 28</value>
</data> </data>
<data name="currentXsCredentialsRadioButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="currentXsCredentialsRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>351, 19</value> <value>231, 19</value>
</data> </data>
<data name="currentXsCredentialsRadioButton.TabIndex" type="System.Int32, mscorlib"> <data name="currentXsCredentialsRadioButton.TabIndex" type="System.Int32, mscorlib">
<value>21</value> <value>21</value>
@ -1366,7 +1366,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="testCredentialsButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="testCredentialsButton.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 133</value> <value>89, 133</value>
</data> </data>
<data name="testCredentialsButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="testCredentialsButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 0, 3, 0</value> <value>3, 0, 3, 0</value>
@ -1471,7 +1471,7 @@
<value>11</value> <value>11</value>
</data> </data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing"> <data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>619, 632</value> <value>619, 671</value>
</data> </data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib"> <data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>9</value> <value>9</value>
@ -1498,7 +1498,7 @@
<value>96, 96</value> <value>96, 96</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>619, 632</value> <value>619, 671</value>
</data> </data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing"> <data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
@ -1515,4 +1515,4 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve"> <data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
</root> </root>

View File

@ -59,46 +59,46 @@
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <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:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element msdata:IsDataSet="true" name="root"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element minOccurs="0" name="value" type="xsd:string"/> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string"/> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string"/> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space"/> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string"/> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string"/> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element minOccurs="0" msdata:Ordinal="1" name="value" type="xsd:string"/> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element minOccurs="0" msdata:Ordinal="2" name="comment" type="xsd:string"/> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute msdata:Ordinal="1" name="name" type="xsd:string" use="required"/> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute msdata:Ordinal="3" name="type" type="xsd:string"/> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute msdata:Ordinal="4" name="mimetype" type="xsd:string"/> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space"/> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element minOccurs="0" msdata:Ordinal="1" name="value" type="xsd:string"/> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
@ -117,15 +117,15 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.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> </resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.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="okButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="okButton.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Bottom, Right</value> <value>Bottom, Right</value>
</data> </data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="okButton.AutoSize" type="System.Boolean, mscorlib"> <data name="okButton.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.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="okButton.Font" type="System.Drawing.Font, System.Drawing"> <data name="okButton.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
@ -487,7 +487,7 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="tableLayoutPanel4.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel4.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?>&lt;TableLayoutSettings>&lt;Controls>&lt;Control Name="frequencyLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="frequencyNumericBox" Row="0" RowSpan="1" Column="1" ColumnSpan="1" />&lt;Control Name="weeksLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" />&lt;Control Name="dayOfweekLabel" Row="2" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="timeOfDayLabel" Row="1" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="timeOfDayComboBox" Row="1" RowSpan="1" Column="1" ColumnSpan="2" />&lt;Control Name="dayOfWeekComboBox" Row="2" RowSpan="1" Column="1" ColumnSpan="2" />&lt;/Controls>&lt;Columns Styles="AutoSize,0,AutoSize,0,Percent,100" />&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" />&lt;/TableLayoutSettings></value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="frequencyLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="frequencyNumericBox" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="weeksLabel" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="dayOfweekLabel" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="timeOfDayLabel" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="timeOfDayComboBox" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;Control Name="dayOfWeekComboBox" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,0,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<data name="decentGroupBox2.Font" type="System.Drawing.Font, System.Drawing"> <data name="decentGroupBox2.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Bold</value> <value>Segoe UI, 9pt, style=Bold</value>
@ -553,7 +553,7 @@
<value>None</value> <value>None</value>
</data> </data>
<data name="authenticationRubricTextBox.Size" type="System.Drawing.Size, System.Drawing"> <data name="authenticationRubricTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>589, 46</value> <value>589, 72</value>
</data> </data>
<data name="authenticationRubricTextBox.TabIndex" type="System.Int32, mscorlib"> <data name="authenticationRubricTextBox.TabIndex" type="System.Int32, mscorlib">
<value>24</value> <value>24</value>
@ -586,13 +586,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing"> <data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 106</value> <value>20, 132</value>
</data> </data>
<data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="label1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing"> <data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label1.TabIndex" type="System.Int32, mscorlib"> <data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>33</value> <value>33</value>
@ -628,13 +628,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing"> <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>20, 135</value> <value>20, 161</value>
</data> </data>
<data name="label2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="label2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing"> <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label2.TabIndex" type="System.Int32, mscorlib"> <data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>35</value> <value>35</value>
@ -661,7 +661,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textBoxMyCitrixPassword.Location" type="System.Drawing.Point, System.Drawing"> <data name="textBoxMyCitrixPassword.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 138</value> <value>89, 164</value>
</data> </data>
<data name="textBoxMyCitrixPassword.Size" type="System.Drawing.Size, System.Drawing"> <data name="textBoxMyCitrixPassword.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -685,7 +685,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textBoxMyCitrixUsername.Location" type="System.Drawing.Point, System.Drawing"> <data name="textBoxMyCitrixUsername.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 109</value> <value>89, 135</value>
</data> </data>
<data name="textBoxMyCitrixUsername.Size" type="System.Drawing.Size, System.Drawing"> <data name="textBoxMyCitrixUsername.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -715,7 +715,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="existingAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="existingAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 59</value> <value>3, 85</value>
</data> </data>
<data name="existingAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="existingAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>167, 19</value> <value>167, 19</value>
@ -748,7 +748,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="newAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="newAuthenticationRadioButton.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 84</value> <value>3, 110</value>
</data> </data>
<data name="newAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing"> <data name="newAuthenticationRadioButton.Size" type="System.Drawing.Size, System.Drawing">
<value>232, 19</value> <value>232, 19</value>
@ -787,7 +787,7 @@
<value>5</value> <value>5</value>
</data> </data>
<data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing"> <data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
<value>591, 167</value> <value>591, 193</value>
</data> </data>
<data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib"> <data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
<value>14</value> <value>14</value>
@ -805,7 +805,7 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel2.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?>&lt;TableLayoutSettings>&lt;Controls>&lt;Control Name="authenticationRubricTextBox" Row="0" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="label1" Row="3" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="label2" Row="4" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="textBoxMyCitrixPassword" Row="4" RowSpan="1" Column="1" ColumnSpan="1" />&lt;Control Name="textBoxMyCitrixUsername" Row="3" RowSpan="1" Column="1" ColumnSpan="1" />&lt;Control Name="existingAuthenticationRadioButton" Row="1" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="newAuthenticationRadioButton" Row="2" RowSpan="1" Column="0" ColumnSpan="2" />&lt;/Controls>&lt;Columns Styles="AutoSize,0,Percent,100,Absolute,20" />&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" />&lt;/TableLayoutSettings></value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="authenticationRubricTextBox" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="label1" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label2" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="textBoxMyCitrixPassword" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="textBoxMyCitrixUsername" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="existingAuthenticationRadioButton" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="newAuthenticationRadioButton" Row="2" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,Percent,100,Absolute,20" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<data name="decentGroupBox1.Font" type="System.Drawing.Font, System.Drawing"> <data name="decentGroupBox1.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Bold</value> <value>Segoe UI, 9pt, style=Bold</value>
@ -814,7 +814,7 @@
<value>11, 402</value> <value>11, 402</value>
</data> </data>
<data name="decentGroupBox1.Size" type="System.Drawing.Size, System.Drawing"> <data name="decentGroupBox1.Size" type="System.Drawing.Size, System.Drawing">
<value>597, 188</value> <value>597, 218</value>
</data> </data>
<data name="decentGroupBox1.TabIndex" type="System.Int32, mscorlib"> <data name="decentGroupBox1.TabIndex" type="System.Int32, mscorlib">
<value>4</value> <value>4</value>
@ -910,7 +910,7 @@
<value>3</value> <value>3</value>
</data> </data>
<data name="m_ctrlError.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="m_ctrlError.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value> <value>Top, Left, Right</value>
</data> </data>
<data name="m_ctrlError.AutoSize" type="System.Boolean, mscorlib"> <data name="m_ctrlError.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -919,19 +919,19 @@
<value>GrowAndShrink</value> <value>GrowAndShrink</value>
</data> </data>
<data name="m_ctrlError.Error" xml:space="preserve"> <data name="m_ctrlError.Error" xml:space="preserve">
<value/> <value />
</data> </data>
<data name="m_ctrlError.Font" type="System.Drawing.Font, System.Drawing"> <data name="m_ctrlError.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="m_ctrlError.Location" type="System.Drawing.Point, System.Drawing"> <data name="m_ctrlError.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 593</value> <value>11, 623</value>
</data> </data>
<data name="m_ctrlError.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="m_ctrlError.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 0, 3, 0</value> <value>3, 0, 3, 0</value>
</data> </data>
<data name="m_ctrlError.Size" type="System.Drawing.Size, System.Drawing"> <data name="m_ctrlError.Size" type="System.Drawing.Size, System.Drawing">
<value>434, 42</value> <value>434, 22</value>
</data> </data>
<data name="m_ctrlError.TabIndex" type="System.Int32, mscorlib"> <data name="m_ctrlError.TabIndex" type="System.Int32, mscorlib">
<value>27</value> <value>27</value>
@ -952,7 +952,7 @@
<value>4</value> <value>4</value>
</data> </data>
<data name="flowLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms"> <data name="flowLayoutPanel1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value> <value>Bottom, Left, Right</value>
</data> </data>
<data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms"> <data name="flowLayoutPanel1.AutoSizeMode" type="System.Windows.Forms.AutoSizeMode, System.Windows.Forms">
<value>GrowAndShrink</value> <value>GrowAndShrink</value>
@ -964,13 +964,13 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing"> <data name="flowLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>448, 593</value> <value>421, 627</value>
</data> </data>
<data name="flowLayoutPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="flowLayoutPanel1.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 0, 0, 0</value> <value>0, 0, 0, 0</value>
</data> </data>
<data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing"> <data name="flowLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>163, 42</value> <value>190, 36</value>
</data> </data>
<data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib"> <data name="flowLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>5</value> <value>5</value>
@ -1054,13 +1054,13 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="errorLabel.Location" type="System.Drawing.Point, System.Drawing"> <data name="errorLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>216, 138</value> <value>213, 138</value>
</data> </data>
<data name="errorLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="errorLabel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>0, 5, 0, 0</value> <value>0, 5, 0, 0</value>
</data> </data>
<data name="errorLabel.Size" type="System.Drawing.Size, System.Drawing"> <data name="errorLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>375, 20</value> <value>378, 20</value>
</data> </data>
<data name="errorLabel.TabIndex" type="System.Int32, mscorlib"> <data name="errorLabel.TabIndex" type="System.Int32, mscorlib">
<value>120</value> <value>120</value>
@ -1087,7 +1087,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="testCredentialsStatusImage.Location" type="System.Drawing.Point, System.Drawing"> <data name="testCredentialsStatusImage.Location" type="System.Drawing.Point, System.Drawing">
<value>197, 138</value> <value>194, 138</value>
</data> </data>
<data name="testCredentialsStatusImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="testCredentialsStatusImage.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 5, 3, 3</value> <value>3, 5, 3, 3</value>
@ -1174,7 +1174,7 @@
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing"> <data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label4.TabIndex" type="System.Int32, mscorlib"> <data name="label4.TabIndex" type="System.Int32, mscorlib">
<value>23</value> <value>23</value>
@ -1216,7 +1216,7 @@
<value>20, 0, 3, 0</value> <value>20, 0, 3, 0</value>
</data> </data>
<data name="label5.Size" type="System.Drawing.Size, System.Drawing"> <data name="label5.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 29</value> <value>63, 29</value>
</data> </data>
<data name="label5.TabIndex" type="System.Int32, mscorlib"> <data name="label5.TabIndex" type="System.Int32, mscorlib">
<value>25</value> <value>25</value>
@ -1243,7 +1243,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textboxXSPassword.Location" type="System.Drawing.Point, System.Drawing"> <data name="textboxXSPassword.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 107</value> <value>89, 107</value>
</data> </data>
<data name="textboxXSPassword.Size" type="System.Drawing.Size, System.Drawing"> <data name="textboxXSPassword.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -1267,7 +1267,7 @@
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
</data> </data>
<data name="textboxXSUserName.Location" type="System.Drawing.Point, System.Drawing"> <data name="textboxXSUserName.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 78</value> <value>89, 78</value>
</data> </data>
<data name="textboxXSUserName.Size" type="System.Drawing.Size, System.Drawing"> <data name="textboxXSUserName.Size" type="System.Drawing.Size, System.Drawing">
<value>300, 23</value> <value>300, 23</value>
@ -1366,7 +1366,7 @@
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="testCredentialsButton.Location" type="System.Drawing.Point, System.Drawing"> <data name="testCredentialsButton.Location" type="System.Drawing.Point, System.Drawing">
<value>92, 133</value> <value>89, 133</value>
</data> </data>
<data name="testCredentialsButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms"> <data name="testCredentialsButton.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 0, 3, 0</value> <value>3, 0, 3, 0</value>
@ -1426,7 +1426,7 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="tableLayoutPanel3.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel3.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?>&lt;TableLayoutSettings>&lt;Controls>&lt;Control Name="errorLabel" Row="5" RowSpan="1" Column="3" ColumnSpan="1" />&lt;Control Name="testCredentialsStatusImage" Row="5" RowSpan="1" Column="2" ColumnSpan="1" />&lt;Control Name="label3" Row="0" RowSpan="1" Column="0" ColumnSpan="4" />&lt;Control Name="label4" Row="3" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="label5" Row="4" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="textboxXSPassword" Row="4" RowSpan="1" Column="1" ColumnSpan="3" />&lt;Control Name="textboxXSUserName" Row="3" RowSpan="1" Column="1" ColumnSpan="3" />&lt;Control Name="currentXsCredentialsRadioButton" Row="1" RowSpan="1" Column="0" ColumnSpan="4" />&lt;Control Name="newXsCredentialsRadioButton" Row="2" RowSpan="1" Column="0" ColumnSpan="4" />&lt;Control Name="testCredentialsButton" Row="5" RowSpan="1" Column="1" ColumnSpan="1" />&lt;/Controls>&lt;Columns Styles="AutoSize,0,AutoSize,100,AutoSize,50,Percent,100" />&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,25" />&lt;/TableLayoutSettings></value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="errorLabel" Row="5" RowSpan="1" Column="3" ColumnSpan="1" /&gt;&lt;Control Name="testCredentialsStatusImage" Row="5" RowSpan="1" Column="2" ColumnSpan="1" /&gt;&lt;Control Name="label3" Row="0" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="label4" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="label5" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="textboxXSPassword" Row="4" RowSpan="1" Column="1" ColumnSpan="3" /&gt;&lt;Control Name="textboxXSUserName" Row="3" RowSpan="1" Column="1" ColumnSpan="3" /&gt;&lt;Control Name="currentXsCredentialsRadioButton" Row="1" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="newXsCredentialsRadioButton" Row="2" RowSpan="1" Column="0" ColumnSpan="4" /&gt;&lt;Control Name="testCredentialsButton" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="AutoSize,0,AutoSize,100,AutoSize,50,Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,25" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<data name="decentGroupBoxXSCredentials.Font" type="System.Drawing.Font, System.Drawing"> <data name="decentGroupBoxXSCredentials.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Bold</value> <value>Segoe UI, 9pt, style=Bold</value>
@ -1471,7 +1471,7 @@
<value>11</value> <value>11</value>
</data> </data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing"> <data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>619, 632</value> <value>619, 671</value>
</data> </data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib"> <data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>9</value> <value>9</value>
@ -1489,16 +1489,16 @@
<value>0</value> <value>0</value>
</data> </data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms"> <data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?>&lt;TableLayoutSettings>&lt;Controls>&lt;Control Name="decentGroupBox2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="decentGroupBox1" Row="8" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="rubricLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="PolicyStatementLinkLabel" Row="1" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="m_ctrlError" Row="10" RowSpan="1" Column="0" ColumnSpan="1" />&lt;Control Name="flowLayoutPanel1" Row="10" RowSpan="1" Column="1" ColumnSpan="1" />&lt;Control Name="enrollmentCheckBox" Row="2" RowSpan="1" Column="0" ColumnSpan="2" />&lt;Control Name="decentGroupBoxXSCredentials" Row="7" RowSpan="1" Column="0" ColumnSpan="2" />&lt;/Controls>&lt;Columns Styles="Percent,100,AutoSize,0" />&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" />&lt;/TableLayoutSettings></value> <value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="decentGroupBox2" Row="3" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="decentGroupBox1" Row="8" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="rubricLabel" Row="0" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="PolicyStatementLinkLabel" Row="1" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="m_ctrlError" Row="10" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="flowLayoutPanel1" Row="10" RowSpan="1" Column="1" ColumnSpan="1" /&gt;&lt;Control Name="enrollmentCheckBox" Row="2" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;Control Name="decentGroupBoxXSCredentials" Row="7" RowSpan="1" Column="0" ColumnSpan="2" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100,AutoSize,0" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data> </data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <data name="$this.Localizable" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
</metadata> </data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>96, 96</value> <value>96, 96</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>619, 632</value> <value>619, 671</value>
</data> </data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing"> <data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt</value> <value>Segoe UI, 9pt</value>
@ -1515,4 +1515,4 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve"> <data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value> <value>XenAdmin.Dialogs.XenDialogBase, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data> </data>
</root> </root>

View File

@ -1104,4 +1104,7 @@
<data name="CrossPoolMigrateWizard_TransferNetworkCopyModePane" xml:space="preserve"> <data name="CrossPoolMigrateWizard_TransferNetworkCopyModePane" xml:space="preserve">
<value>9000</value> <value>9000</value>
</data> </data>
</root> <data name="TabPageADUpsell" xml:space="preserve">
<value>1301</value>
</data>
</root>

View File

@ -1104,4 +1104,7 @@
<data name="CrossPoolMigrateWizard_TransferNetworkCopyModePane" xml:space="preserve"> <data name="CrossPoolMigrateWizard_TransferNetworkCopyModePane" xml:space="preserve">
<value>9000</value> <value>9000</value>
</data> </data>
<data name="TabPageADUpsell" xml:space="preserve">
<value>1301</value>
</data>
</root> </root>

View File

@ -1104,4 +1104,7 @@
<data name="CrossPoolMigrateWizard_TransferNetworkCopyModePane" xml:space="preserve"> <data name="CrossPoolMigrateWizard_TransferNetworkCopyModePane" xml:space="preserve">
<value>9000</value> <value>9000</value>
</data> </data>
</root> <data name="TabPageADUpsell" xml:space="preserve">
<value>1301</value>
</data>
</root>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -280,6 +280,7 @@ namespace XenAdmin
this.StatusStrip = new System.Windows.Forms.StatusStrip(); this.StatusStrip = new System.Windows.Forms.StatusStrip();
this.statusLabel = new System.Windows.Forms.ToolStripStatusLabel(); this.statusLabel = new System.Windows.Forms.ToolStripStatusLabel();
this.statusProgressBar = new System.Windows.Forms.ToolStripProgressBar(); this.statusProgressBar = new System.Windows.Forms.ToolStripProgressBar();
this.TabPageADUpsell = new System.Windows.Forms.TabPage();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
@ -353,6 +354,7 @@ namespace XenAdmin
this.TheTabControl.Controls.Add(this.TabPageWLB); this.TheTabControl.Controls.Add(this.TabPageWLB);
this.TheTabControl.Controls.Add(this.TabPageWLBUpsell); this.TheTabControl.Controls.Add(this.TabPageWLBUpsell);
this.TheTabControl.Controls.Add(this.TabPageAD); this.TheTabControl.Controls.Add(this.TabPageAD);
this.TheTabControl.Controls.Add(this.TabPageADUpsell);
this.TheTabControl.Controls.Add(this.TabPageGPU); this.TheTabControl.Controls.Add(this.TabPageGPU);
this.TheTabControl.Controls.Add(this.TabPageSearch); this.TheTabControl.Controls.Add(this.TabPageSearch);
this.TheTabControl.Controls.Add(this.TabPageDockerProcess); this.TheTabControl.Controls.Add(this.TabPageDockerProcess);
@ -1837,6 +1839,12 @@ namespace XenAdmin
this.statusProgressBar.Name = "statusProgressBar"; this.statusProgressBar.Name = "statusProgressBar";
this.statusProgressBar.Overflow = System.Windows.Forms.ToolStripItemOverflow.Never; this.statusProgressBar.Overflow = System.Windows.Forms.ToolStripItemOverflow.Never;
// //
// TabPageADUpsell
//
resources.ApplyResources(this.TabPageADUpsell, "TabPageADUpsell");
this.TabPageADUpsell.Name = "TabPageADUpsell";
this.TabPageADUpsell.UseVisualStyleBackColor = true;
//
// MainWindow // MainWindow
// //
resources.ApplyResources(this, "$this"); resources.ApplyResources(this, "$this");
@ -2098,6 +2106,7 @@ namespace XenAdmin
private CommandToolStripButton resumeContainerToolStripButton; private CommandToolStripButton resumeContainerToolStripButton;
private CommandToolStripButton restartContainerToolStripButton; private CommandToolStripButton restartContainerToolStripButton;
private CommandToolStripMenuItem healthCheckToolStripMenuItem1; private CommandToolStripMenuItem healthCheckToolStripMenuItem1;
private TabPage TabPageADUpsell;
} }
} }

View File

@ -97,6 +97,7 @@ namespace XenAdmin
internal readonly PhysicalStoragePage PhysicalStoragePage = new PhysicalStoragePage(); internal readonly PhysicalStoragePage PhysicalStoragePage = new PhysicalStoragePage();
internal readonly VMStoragePage VMStoragePage = new VMStoragePage(); internal readonly VMStoragePage VMStoragePage = new VMStoragePage();
internal readonly AdPage AdPage = new AdPage(); internal readonly AdPage AdPage = new AdPage();
internal readonly ADUpsellPage AdUpsellPage = new ADUpsellPage();
internal readonly GpuPage GpuPage = new GpuPage(); internal readonly GpuPage GpuPage = new GpuPage();
internal readonly DockerProcessPage DockerProcessPage = new DockerProcessPage(); internal readonly DockerProcessPage DockerProcessPage = new DockerProcessPage();
internal readonly DockerDetailsPage DockerDetailsPage = new DockerDetailsPage(); internal readonly DockerDetailsPage DockerDetailsPage = new DockerDetailsPage();
@ -178,6 +179,7 @@ namespace XenAdmin
AddTabContents(WLBUpsellPage, TabPageWLBUpsell); AddTabContents(WLBUpsellPage, TabPageWLBUpsell);
AddTabContents(PhysicalStoragePage, TabPagePhysicalStorage); AddTabContents(PhysicalStoragePage, TabPagePhysicalStorage);
AddTabContents(AdPage, TabPageAD); AddTabContents(AdPage, TabPageAD);
AddTabContents(AdUpsellPage, TabPageADUpsell);
AddTabContents(GpuPage, TabPageGPU); AddTabContents(GpuPage, TabPageGPU);
AddTabContents(SearchPage, TabPageSearch); AddTabContents(SearchPage, TabPageSearch);
AddTabContents(DockerProcessPage, TabPageDockerProcess); AddTabContents(DockerProcessPage, TabPageDockerProcess);
@ -1359,6 +1361,7 @@ namespace XenAdmin
bool dmc_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictDMC); bool dmc_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictDMC);
bool ha_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictHA); bool ha_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictHA);
bool wlb_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictWLB); bool wlb_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictWLB);
bool ad_upsell = Helpers.FeatureForbidden(SelectionManager.Selection.FirstAsXenObject, Host.RestrictAD);
bool is_connected = selectionConnection != null && selectionConnection.IsConnected; bool is_connected = selectionConnection != null && selectionConnection.IsConnected;
bool multi = SelectionManager.Selection.Count > 1; bool multi = SelectionManager.Selection.Count > 1;
@ -1408,7 +1411,7 @@ namespace XenAdmin
if(!(SelectionManager.Selection.All(s => Helpers.IsClearwater(s.Connection)) || wlb_upsell )) if(!(SelectionManager.Selection.All(s => Helpers.IsClearwater(s.Connection)) || wlb_upsell ))
ShowTab(TabPageWLB, !multi && !SearchMode && isPoolSelected); ShowTab(TabPageWLB, !multi && !SearchMode && isPoolSelected);
ShowTab(TabPageAD, !multi && !SearchMode && (isPoolSelected || isHostSelected && isHostLive)); ShowTab(ad_upsell ? TabPageADUpsell : TabPageAD, !multi && !SearchMode && (isPoolSelected || isHostSelected && isHostLive));
foreach (TabPageFeature f in pluginManager.GetAllFeatures<TabPageFeature>(f => !f.IsConsoleReplacement && !multi && f.ShowTab)) foreach (TabPageFeature f in pluginManager.GetAllFeatures<TabPageFeature>(f => !f.IsConsoleReplacement && !multi && f.ShowTab))
ShowTab(f.TabPage, true); ShowTab(f.TabPage, true);
@ -2387,6 +2390,8 @@ namespace XenAdmin
return "TabPageBallooning" + modelObj; return "TabPageBallooning" + modelObj;
if (TheTabControl.SelectedTab == TabPageAD) if (TheTabControl.SelectedTab == TabPageAD)
return "TabPageAD" + modelObj; return "TabPageAD" + modelObj;
if (TheTabControl.SelectedTab == TabPageADUpsell)
return "TabPageADUpsell" + modelObj;
if (TheTabControl.SelectedTab == TabPageBallooningUpsell) if (TheTabControl.SelectedTab == TabPageBallooningUpsell)
return "TabPageBallooningUpsell"; return "TabPageBallooningUpsell";
if (TheTabControl.SelectedTab == TabPageWLBUpsell) if (TheTabControl.SelectedTab == TabPageWLBUpsell)

View File

@ -684,6 +684,33 @@
<data name="&gt;&gt;TabPageAD.ZOrder" xml:space="preserve"> <data name="&gt;&gt;TabPageAD.ZOrder" xml:space="preserve">
<value>16</value> <value>16</value>
</data> </data>
<data name="TabPageADUpsell.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
</data>
<data name="TabPageADUpsell.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 3</value>
</data>
<data name="TabPageADUpsell.Size" type="System.Drawing.Size, System.Drawing">
<value>753, 592</value>
</data>
<data name="TabPageADUpsell.TabIndex" type="System.Int32, mscorlib">
<value>21</value>
</data>
<data name="TabPageADUpsell.Text" xml:space="preserve">
<value>Users</value>
</data>
<data name="&gt;&gt;TabPageADUpsell.Name" xml:space="preserve">
<value>TabPageADUpsell</value>
</data>
<data name="&gt;&gt;TabPageADUpsell.Type" xml:space="preserve">
<value>System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;TabPageADUpsell.Parent" xml:space="preserve">
<value>TheTabControl</value>
</data>
<data name="&gt;&gt;TabPageADUpsell.ZOrder" xml:space="preserve">
<value>17</value>
</data>
<data name="TabPageGPU.Location" type="System.Drawing.Point, System.Drawing"> <data name="TabPageGPU.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value> <value>4, 22</value>
</data> </data>
@ -706,7 +733,7 @@
<value>TheTabControl</value> <value>TheTabControl</value>
</data> </data>
<data name="&gt;&gt;TabPageGPU.ZOrder" xml:space="preserve"> <data name="&gt;&gt;TabPageGPU.ZOrder" xml:space="preserve">
<value>17</value> <value>18</value>
</data> </data>
<data name="TabPageSearch.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="TabPageSearch.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
@ -736,7 +763,7 @@
<value>TheTabControl</value> <value>TheTabControl</value>
</data> </data>
<data name="&gt;&gt;TabPageSearch.ZOrder" xml:space="preserve"> <data name="&gt;&gt;TabPageSearch.ZOrder" xml:space="preserve">
<value>18</value> <value>19</value>
</data> </data>
<data name="TabPageDockerProcess.Location" type="System.Drawing.Point, System.Drawing"> <data name="TabPageDockerProcess.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value> <value>4, 22</value>
@ -766,7 +793,7 @@
<value>TheTabControl</value> <value>TheTabControl</value>
</data> </data>
<data name="&gt;&gt;TabPageDockerProcess.ZOrder" xml:space="preserve"> <data name="&gt;&gt;TabPageDockerProcess.ZOrder" xml:space="preserve">
<value>19</value> <value>20</value>
</data> </data>
<data name="TabPageDockerDetails.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="TabPageDockerDetails.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value> <value>Fill</value>
@ -796,7 +823,7 @@
<value>TheTabControl</value> <value>TheTabControl</value>
</data> </data>
<data name="&gt;&gt;TabPageDockerDetails.ZOrder" xml:space="preserve"> <data name="&gt;&gt;TabPageDockerDetails.ZOrder" xml:space="preserve">
<value>20</value> <value>21</value>
</data> </data>
<data name="TheTabControl.Font" type="System.Drawing.Font, System.Drawing"> <data name="TheTabControl.Font" type="System.Drawing.Font, System.Drawing">
<value>Verdana, 8.25pt</value> <value>Verdana, 8.25pt</value>
@ -1699,13 +1726,13 @@
<value>163, 5</value> <value>163, 5</value>
</metadata> </metadata>
<data name="ShowToolbarMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="ShowToolbarMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>147, 22</value> <value>146, 22</value>
</data> </data>
<data name="ShowToolbarMenuItem.Text" xml:space="preserve"> <data name="ShowToolbarMenuItem.Text" xml:space="preserve">
<value>Show &amp;Toolbar</value> <value>Show &amp;Toolbar</value>
</data> </data>
<data name="ToolBarContextMenu.Size" type="System.Drawing.Size, System.Drawing"> <data name="ToolBarContextMenu.Size" type="System.Drawing.Size, System.Drawing">
<value>148, 26</value> <value>147, 26</value>
</data> </data>
<data name="&gt;&gt;ToolBarContextMenu.Name" xml:space="preserve"> <data name="&gt;&gt;ToolBarContextMenu.Name" xml:space="preserve">
<value>ToolBarContextMenu</value> <value>ToolBarContextMenu</value>
@ -2523,7 +2550,7 @@
<value>False</value> <value>False</value>
</data> </data>
<data name="helpTopicsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="helpTopicsToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value> <value>228, 22</value>
</data> </data>
<data name="helpTopicsToolStripMenuItem.Text" xml:space="preserve"> <data name="helpTopicsToolStripMenuItem.Text" xml:space="preserve">
<value>Help &amp;Contents</value> <value>Help &amp;Contents</value>
@ -2532,46 +2559,46 @@
<value>F1</value> <value>F1</value>
</data> </data>
<data name="helpContextMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="helpContextMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value> <value>228, 22</value>
</data> </data>
<data name="helpContextMenuItem.Text" xml:space="preserve"> <data name="helpContextMenuItem.Text" xml:space="preserve">
<value>Conte&amp;xt Help</value> <value>Conte&amp;xt Help</value>
</data> </data>
<data name="toolStripMenuItem15.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripMenuItem15.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 6</value> <value>225, 6</value>
</data> </data>
<data name="viewApplicationLogToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="viewApplicationLogToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value> <value>228, 22</value>
</data> </data>
<data name="viewApplicationLogToolStripMenuItem.Text" xml:space="preserve"> <data name="viewApplicationLogToolStripMenuItem.Text" xml:space="preserve">
<value>View [XenCenter] &amp;Log Files</value> <value>View [XenCenter] &amp;Log Files</value>
</data> </data>
<data name="toolStripMenuItem17.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripMenuItem17.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 6</value> <value>225, 6</value>
</data> </data>
<data name="xenSourceOnTheWebToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="xenSourceOnTheWebToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value> <value>228, 22</value>
</data> </data>
<data name="xenSourceOnTheWebToolStripMenuItem.Text" xml:space="preserve"> <data name="xenSourceOnTheWebToolStripMenuItem.Text" xml:space="preserve">
<value>[XenServer product] on the &amp;Web</value> <value>[XenServer product] on the &amp;Web</value>
</data> </data>
<data name="xenCenterPluginsOnlineToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="xenCenterPluginsOnlineToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value> <value>228, 22</value>
</data> </data>
<data name="xenCenterPluginsOnlineToolStripMenuItem.Text" xml:space="preserve"> <data name="xenCenterPluginsOnlineToolStripMenuItem.Text" xml:space="preserve">
<value>[XenCenter] &amp;Plugins online</value> <value>[XenCenter] &amp;Plugins online</value>
</data> </data>
<data name="toolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing"> <data name="toolStripSeparator7.Size" type="System.Drawing.Size, System.Drawing">
<value>192, 6</value> <value>225, 6</value>
</data> </data>
<data name="pluginItemsPlaceHolderToolStripMenuItem8.Size" type="System.Drawing.Size, System.Drawing"> <data name="pluginItemsPlaceHolderToolStripMenuItem8.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value> <value>228, 22</value>
</data> </data>
<data name="pluginItemsPlaceHolderToolStripMenuItem8.Text" xml:space="preserve"> <data name="pluginItemsPlaceHolderToolStripMenuItem8.Text" xml:space="preserve">
<value>PluginItemsPlaceHolder</value> <value>PluginItemsPlaceHolder</value>
</data> </data>
<data name="aboutXenSourceAdminToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing"> <data name="aboutXenSourceAdminToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>195, 22</value> <value>228, 22</value>
</data> </data>
<data name="aboutXenSourceAdminToolStripMenuItem.Text" xml:space="preserve"> <data name="aboutXenSourceAdminToolStripMenuItem.Text" xml:space="preserve">
<value>&amp;About [XenCenter]</value> <value>&amp;About [XenCenter]</value>
@ -3794,4 +3821,4 @@
<data name="&gt;&gt;$this.Type" xml:space="preserve"> <data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
</root> </root>

View File

@ -206,6 +206,9 @@ namespace XenAdmin.Network
case WebExceptionStatus.SendFailure: case WebExceptionStatus.SendFailure:
AddError(owner, connection, string.Format(Messages.ERROR_NO_XENSERVER, ((XenConnection)connection).Hostname), string.Format(Messages.SOLUTION_CHECK_XENSERVER, ((XenConnection)connection).Hostname)); AddError(owner, connection, string.Format(Messages.ERROR_NO_XENSERVER, ((XenConnection)connection).Hostname), string.Format(Messages.SOLUTION_CHECK_XENSERVER, ((XenConnection)connection).Hostname));
break; break;
case WebExceptionStatus.SecureChannelFailure:
AddError(owner, connection, string.Format(Messages.ERROR_SECURE_CHANNEL_FAILURE, ((XenConnection)connection).Hostname), Messages.SOLUTION_UNKNOWN);
break;
default: default:
AddError(owner, connection, Messages.ERROR_UNKNOWN, Messages.SOLUTION_UNKNOWN); AddError(owner, connection, Messages.ERROR_UNKNOWN, Messages.SOLUTION_UNKNOWN);
break; break;

View File

@ -1347,7 +1347,7 @@ namespace XenAdmin.TabPages
{ {
if (vm.virtualisation_status.HasFlag(XenAPI.VM.VirtualisationStatus.UNKNOWN)) if (vm.virtualisation_status.HasFlag(XenAPI.VM.VirtualisationStatus.UNKNOWN))
{ {
s.AddEntry(FriendlyName("VM.VirtualizationState"), vm.VirtualisationStatusString); sb.AppendLine(vm.VirtualisationStatusString);
} }
else else
{ {

View File

@ -52,26 +52,35 @@ namespace XenAdmin.TabPages
} }
} }
public class ADUpsellPage : UpsellTabPage
{
public ADUpsellPage()
: base(Messages.ACTIVE_DIRECTORY_TAB_TITLE, HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_AD :
Messages.UPSELL_BLURB_AD + Messages.UPSELL_BLURB_AD_MORE, InvisibleMessages.UPSELL_LEARNMOREURL_AD)
{ }
}
public class BallooningUpsellPage : UpsellTabPage public class BallooningUpsellPage : UpsellTabPage
{ {
public BallooningUpsellPage() public BallooningUpsellPage()
: base(Messages.DYNAMIC_MEMORY_CONTROL, HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DMC : Messages.UPSELL_BLURB_DMC + Messages.UPSELL_BLURB_DMC_MORE, InvisibleMessages.UPSELL_LEARNMOREURL_DMC) : base(Messages.DYNAMIC_MEMORY_CONTROL, HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_DMC :
Messages.UPSELL_BLURB_DMC + Messages.UPSELL_BLURB_DMC_MORE, InvisibleMessages.UPSELL_LEARNMOREURL_DMC)
{ } { }
} }
public class HAUpsellPage : UpsellTabPage public class HAUpsellPage : UpsellTabPage
{ {
public HAUpsellPage() public HAUpsellPage()
: base(Messages.HIGH_AVAILABILITY, HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_HA : Messages.UPSELL_BLURB_HA + Messages.UPSELL_BLURB_HA_MORE, InvisibleMessages.UPSELL_LEARNMOREURL_HA) : base(Messages.HIGH_AVAILABILITY, HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_HA :
Messages.UPSELL_BLURB_HA + Messages.UPSELL_BLURB_HA_MORE, InvisibleMessages.UPSELL_LEARNMOREURL_HA)
{ } { }
} }
public class WLBUpsellPage : UpsellTabPage public class WLBUpsellPage : UpsellTabPage
{ {
public WLBUpsellPage() public WLBUpsellPage()
: base(Messages.WORKLOAD_BALANCING, : base(Messages.WORKLOAD_BALANCING, HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_WLB :
HiddenFeatures.LinkLabelHidden ? Messages.UPSELL_BLURB_WLB : Messages.UPSELL_BLURB_WLB + Messages.UPSELL_BLURB_WLB_MORE, Messages.UPSELL_BLURB_WLB + Messages.UPSELL_BLURB_WLB_MORE, InvisibleMessages.UPSELL_LEARNMOREURL_WLB)
InvisibleMessages.UPSELL_LEARNMOREURL_WLB)
{ } { }
} }
} }

View File

@ -36,6 +36,7 @@
<row ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff699" PV__args="" PV__bootloader_args="" actions__after_shutdown="destroy" resident_on="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ed" is_a_template="false" name__label="Carmen Agimof" ha_restart_priority="" snapshot_of="OpaqueRef:NULL" tags="()" PV__ramdisk="" memory__dynamic_min="536870912" user_version="1" HVM__boot_params="(('order' 'dc'))" uuid="6b7d7e58-d915-1a02-388a-cbf92b667dc6" PV__legacy_args="" last_boot_CPU_flags="()" metrics="OpaqueRef:5b4b36d2-422e-8649-7a72-3b67bf3fa9b2" PV__bootloader="" memory__target="268435456" current_operations="()" blobs="()" HVM__boot_policy="BIOS order" VCPUs__max="1" domid="9" other_config="(('last_shutdown_time' '20090505T17:10:33Z') ('last_shutdown_action' 'Destroy') ('last_shutdown_initiator' 'external') ('last_shutdown_reason' 'halted') ('install-methods' 'cdrom') ('mac_seed' '021c8736-06a9-04ca-dfec-213484813516'))" xenstore_data="()" recommendations="" _ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff699" scheduled_to_be_resident_on="OpaqueRef:NULL" memory__dynamic_max="536870912" name__description="Software development engineer (Intern)" allowed_operations="('pool_migrate' 'changing_VCPUs_live' 'suspend' 'hard_reboot' 'hard_shutdown' 'clean_reboot' 'clean_shutdown' 'pause' 'snapshot')" blocked_operations="()" is_a_snapshot="false" snapshot_time="19700101T00:00:00Z" ha_always_run="false" memory__static_min="16777216" affinity="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ed" VCPUs__at_startup="1" actions__after_reboot="restart" is_control_domain="false" PCI_bus="" HVM__shadow_multiplier="1" last_booted_record="" transportable_snapshot_id="" actions__after_crash="restart" power_state="Halted" platform="(('timeoffset' '2') ('nx' 'false') ('acpi' 'true') ('apic' 'true') ('pae' 'true') ('viridian' 'true'))" suspend_VDI="OpaqueRef:NULL" domarch="hvm" guest_metrics="OpaqueRef:82982a7f-1a56-9491-45f0-6e221e4edc51" memory__static_max="536870912" VCPUs__params="()" PV__kernel=""/> <row ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff699" PV__args="" PV__bootloader_args="" actions__after_shutdown="destroy" resident_on="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ed" is_a_template="false" name__label="Carmen Agimof" ha_restart_priority="" snapshot_of="OpaqueRef:NULL" tags="()" PV__ramdisk="" memory__dynamic_min="536870912" user_version="1" HVM__boot_params="(('order' 'dc'))" uuid="6b7d7e58-d915-1a02-388a-cbf92b667dc6" PV__legacy_args="" last_boot_CPU_flags="()" metrics="OpaqueRef:5b4b36d2-422e-8649-7a72-3b67bf3fa9b2" PV__bootloader="" memory__target="268435456" current_operations="()" blobs="()" HVM__boot_policy="BIOS order" VCPUs__max="1" domid="9" other_config="(('last_shutdown_time' '20090505T17:10:33Z') ('last_shutdown_action' 'Destroy') ('last_shutdown_initiator' 'external') ('last_shutdown_reason' 'halted') ('install-methods' 'cdrom') ('mac_seed' '021c8736-06a9-04ca-dfec-213484813516'))" xenstore_data="()" recommendations="" _ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff699" scheduled_to_be_resident_on="OpaqueRef:NULL" memory__dynamic_max="536870912" name__description="Software development engineer (Intern)" allowed_operations="('pool_migrate' 'changing_VCPUs_live' 'suspend' 'hard_reboot' 'hard_shutdown' 'clean_reboot' 'clean_shutdown' 'pause' 'snapshot')" blocked_operations="()" is_a_snapshot="false" snapshot_time="19700101T00:00:00Z" ha_always_run="false" memory__static_min="16777216" affinity="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ed" VCPUs__at_startup="1" actions__after_reboot="restart" is_control_domain="false" PCI_bus="" HVM__shadow_multiplier="1" last_booted_record="" transportable_snapshot_id="" actions__after_crash="restart" power_state="Halted" platform="(('timeoffset' '2') ('nx' 'false') ('acpi' 'true') ('apic' 'true') ('pae' 'true') ('viridian' 'true'))" suspend_VDI="OpaqueRef:NULL" domarch="hvm" guest_metrics="OpaqueRef:82982a7f-1a56-9491-45f0-6e221e4edc51" memory__static_max="536870912" VCPUs__params="()" PV__kernel=""/>
<row ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff682" PV__args="" PV__bootloader_args="" actions__after_shutdown="destroy" resident_on="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ec" is_a_template="false" name__label="&#24352;&#35802; (Cheng Zhang)" ha_restart_priority="" snapshot_of="OpaqueRef:NULL" tags="()" PV__ramdisk="" memory__dynamic_min="536870912" user_version="1" HVM__boot_params="(('order' 'dc'))" uuid="6b7d7e58-d915-1a02-388a-cbf92b667dc7" PV__legacy_args="" last_boot_CPU_flags="()" metrics="OpaqueRef:5b4b36d2-422e-8649-7a72-3b67bf3fa9b2" PV__bootloader="" memory__target="268435456" current_operations="()" blobs="()" HVM__boot_policy="BIOS order" VCPUs__max="1" domid="9" other_config="(('last_shutdown_time' '20090505T17:10:33Z') ('last_shutdown_action' 'Destroy') ('last_shutdown_initiator' 'external') ('last_shutdown_reason' 'halted') ('install-methods' 'cdrom') ('mac_seed' '021c8736-06a9-04ca-dfec-213484813516'))" xenstore_data="()" recommendations="" _ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff681" scheduled_to_be_resident_on="OpaqueRef:NULL" memory__dynamic_max="536870912" name__description="Software development engineer" allowed_operations="('pool_migrate' 'changing_VCPUs_live' 'suspend' 'hard_reboot' 'hard_shutdown' 'clean_reboot' 'clean_shutdown' 'pause' 'snapshot')" blocked_operations="()" is_a_snapshot="false" snapshot_time="19700101T00:00:00Z" ha_always_run="false" memory__static_min="16777216" affinity="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ed" VCPUs__at_startup="1" actions__after_reboot="restart" is_control_domain="false" PCI_bus="" HVM__shadow_multiplier="1" last_booted_record="" transportable_snapshot_id="" actions__after_crash="restart" power_state="Running" platform="(('timeoffset' '2') ('nx' 'false') ('acpi' 'true') ('apic' 'true') ('pae' 'true') ('viridian' 'true'))" suspend_VDI="OpaqueRef:NULL" domarch="hvm" guest_metrics="OpaqueRef:82982a7f-1a56-9491-45f0-6e221e4edc51" memory__static_max="536870912" VCPUs__params="()" PV__kernel=""/> <row ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff682" PV__args="" PV__bootloader_args="" actions__after_shutdown="destroy" resident_on="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ec" is_a_template="false" name__label="&#24352;&#35802; (Cheng Zhang)" ha_restart_priority="" snapshot_of="OpaqueRef:NULL" tags="()" PV__ramdisk="" memory__dynamic_min="536870912" user_version="1" HVM__boot_params="(('order' 'dc'))" uuid="6b7d7e58-d915-1a02-388a-cbf92b667dc7" PV__legacy_args="" last_boot_CPU_flags="()" metrics="OpaqueRef:5b4b36d2-422e-8649-7a72-3b67bf3fa9b2" PV__bootloader="" memory__target="268435456" current_operations="()" blobs="()" HVM__boot_policy="BIOS order" VCPUs__max="1" domid="9" other_config="(('last_shutdown_time' '20090505T17:10:33Z') ('last_shutdown_action' 'Destroy') ('last_shutdown_initiator' 'external') ('last_shutdown_reason' 'halted') ('install-methods' 'cdrom') ('mac_seed' '021c8736-06a9-04ca-dfec-213484813516'))" xenstore_data="()" recommendations="" _ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff681" scheduled_to_be_resident_on="OpaqueRef:NULL" memory__dynamic_max="536870912" name__description="Software development engineer" allowed_operations="('pool_migrate' 'changing_VCPUs_live' 'suspend' 'hard_reboot' 'hard_shutdown' 'clean_reboot' 'clean_shutdown' 'pause' 'snapshot')" blocked_operations="()" is_a_snapshot="false" snapshot_time="19700101T00:00:00Z" ha_always_run="false" memory__static_min="16777216" affinity="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ed" VCPUs__at_startup="1" actions__after_reboot="restart" is_control_domain="false" PCI_bus="" HVM__shadow_multiplier="1" last_booted_record="" transportable_snapshot_id="" actions__after_crash="restart" power_state="Running" platform="(('timeoffset' '2') ('nx' 'false') ('acpi' 'true') ('apic' 'true') ('pae' 'true') ('viridian' 'true'))" suspend_VDI="OpaqueRef:NULL" domarch="hvm" guest_metrics="OpaqueRef:82982a7f-1a56-9491-45f0-6e221e4edc51" memory__static_max="536870912" VCPUs__params="()" PV__kernel=""/>
<row ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff683" PV__args="" PV__bootloader_args="" actions__after_shutdown="destroy" resident_on="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ec" is_a_template="false" name__label="&#24352;&#26198; (Hui Zhang)" ha_restart_priority="" snapshot_of="OpaqueRef:NULL" tags="()" PV__ramdisk="" memory__dynamic_min="536870912" user_version="1" HVM__boot_params="(('order' 'dc'))" uuid="6b7d7e58-d915-1a02-388a-cbf92b667dc8" PV__legacy_args="" last_boot_CPU_flags="()" metrics="OpaqueRef:5b4b36d2-422e-8649-7a72-3b67bf3fa9b2" PV__bootloader="" memory__target="268435456" current_operations="()" blobs="()" HVM__boot_policy="BIOS order" VCPUs__max="1" domid="9" other_config="(('last_shutdown_time' '20090505T17:10:33Z') ('last_shutdown_action' 'Destroy') ('last_shutdown_initiator' 'external') ('last_shutdown_reason' 'halted') ('install-methods' 'cdrom') ('mac_seed' '021c8736-06a9-04ca-dfec-213484813516'))" xenstore_data="()" recommendations="" _ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff682" scheduled_to_be_resident_on="OpaqueRef:NULL" memory__dynamic_max="536870912" name__description="Software development engineer" allowed_operations="('pool_migrate' 'changing_VCPUs_live' 'suspend' 'hard_reboot' 'hard_shutdown' 'clean_reboot' 'clean_shutdown' 'pause' 'snapshot')" blocked_operations="()" is_a_snapshot="false" snapshot_time="19700101T00:00:00Z" ha_always_run="false" memory__static_min="16777216" affinity="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ed" VCPUs__at_startup="1" actions__after_reboot="restart" is_control_domain="false" PCI_bus="" HVM__shadow_multiplier="1" last_booted_record="" transportable_snapshot_id="" actions__after_crash="restart" power_state="Running" platform="(('timeoffset' '2') ('nx' 'false') ('acpi' 'true') ('apic' 'true') ('pae' 'true') ('viridian' 'true'))" suspend_VDI="OpaqueRef:NULL" domarch="hvm" guest_metrics="OpaqueRef:82982a7f-1a56-9491-45f0-6e221e4edc51" memory__static_max="536870912" VCPUs__params="()" PV__kernel=""/> <row ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff683" PV__args="" PV__bootloader_args="" actions__after_shutdown="destroy" resident_on="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ec" is_a_template="false" name__label="&#24352;&#26198; (Hui Zhang)" ha_restart_priority="" snapshot_of="OpaqueRef:NULL" tags="()" PV__ramdisk="" memory__dynamic_min="536870912" user_version="1" HVM__boot_params="(('order' 'dc'))" uuid="6b7d7e58-d915-1a02-388a-cbf92b667dc8" PV__legacy_args="" last_boot_CPU_flags="()" metrics="OpaqueRef:5b4b36d2-422e-8649-7a72-3b67bf3fa9b2" PV__bootloader="" memory__target="268435456" current_operations="()" blobs="()" HVM__boot_policy="BIOS order" VCPUs__max="1" domid="9" other_config="(('last_shutdown_time' '20090505T17:10:33Z') ('last_shutdown_action' 'Destroy') ('last_shutdown_initiator' 'external') ('last_shutdown_reason' 'halted') ('install-methods' 'cdrom') ('mac_seed' '021c8736-06a9-04ca-dfec-213484813516'))" xenstore_data="()" recommendations="" _ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff682" scheduled_to_be_resident_on="OpaqueRef:NULL" memory__dynamic_max="536870912" name__description="Software development engineer" allowed_operations="('pool_migrate' 'changing_VCPUs_live' 'suspend' 'hard_reboot' 'hard_shutdown' 'clean_reboot' 'clean_shutdown' 'pause' 'snapshot')" blocked_operations="()" is_a_snapshot="false" snapshot_time="19700101T00:00:00Z" ha_always_run="false" memory__static_min="16777216" affinity="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ed" VCPUs__at_startup="1" actions__after_reboot="restart" is_control_domain="false" PCI_bus="" HVM__shadow_multiplier="1" last_booted_record="" transportable_snapshot_id="" actions__after_crash="restart" power_state="Running" platform="(('timeoffset' '2') ('nx' 'false') ('acpi' 'true') ('apic' 'true') ('pae' 'true') ('viridian' 'true'))" suspend_VDI="OpaqueRef:NULL" domarch="hvm" guest_metrics="OpaqueRef:82982a7f-1a56-9491-45f0-6e221e4edc51" memory__static_max="536870912" VCPUs__params="()" PV__kernel=""/>
<row ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff684" PV__args="" PV__bootloader_args="" actions__after_shutdown="destroy" resident_on="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ec" is_a_template="false" name__label="Frederico Mazzone" ha_restart_priority="" snapshot_of="OpaqueRef:NULL" tags="()" PV__ramdisk="" memory__dynamic_min="536870912" user_version="1" HVM__boot_params="(('order' 'dc'))" uuid="6c7d7e58-f7ed-4a22-388a-cbf92b669dc9" PV__legacy_args="" last_boot_CPU_flags="()" metrics="OpaqueRef:5b4b36d2-422e-8649-7a72-3b67bf3fa9b2" PV__bootloader="" memory__target="268435456" current_operations="()" blobs="()" HVM__boot_policy="BIOS order" VCPUs__max="1" domid="9" other_config="(('last_shutdown_time' '20090505T17:10:33Z') ('last_shutdown_action' 'Destroy') ('last_shutdown_initiator' 'external') ('last_shutdown_reason' 'halted') ('install-methods' 'cdrom') ('mac_seed' '021c8736-06a9-04ca-dfec-213484813516'))" xenstore_data="()" recommendations="" _ref="OpaqueRef:d8c4b5b1-86d8-40f8-ac93-3ed24d4ff765" scheduled_to_be_resident_on="OpaqueRef:NULL" memory__dynamic_max="536870912" name__description="Software development engineer" allowed_operations="('pool_migrate' 'changing_VCPUs_live' 'suspend' 'hard_reboot' 'hard_shutdown' 'clean_reboot' 'clean_shutdown' 'pause' 'snapshot')" blocked_operations="()" is_a_snapshot="false" snapshot_time="19700101T00:00:00Z" ha_always_run="false" memory__static_min="16777216" affinity="OpaqueRef:95de2421-c5ef-26ee-0eff-53f3429421ed" VCPUs__at_startup="1" actions__after_reboot="restart" is_control_domain="false" PCI_bus="" HVM__shadow_multiplier="1" last_booted_record="" transportable_snapshot_id="" actions__after_crash="restart" power_state="Running" platform="(('timeoffset' '2') ('nx' 'false') ('acpi' 'true') ('apic' 'true') ('pae' 'true') ('viridian' 'true'))" suspend_VDI="OpaqueRef:NULL" domarch="hvm" guest_metrics="OpaqueRef:82982a7f-1a56-9491-45f0-6e221e4edc51" memory__static_max="536870912" VCPUs__params="()" PV__kernel=""/>
</table> </table>
<table name="VM_guest_metrics"> <table name="VM_guest_metrics">
<row ref="OpaqueRef:82982a7f-1a56-9491-45f0-6e221e4edc51" disks="()" last_updated="20090506T12:45:12Z" PV_drivers_version="(('major' '5') ('minor' '5') ('micro' '0') ('build' '14066'))" other_config="()" os_version="" uuid="de86726b-2e8d-0441-8628-1b8f4a1c3e1e" other="" PV_drivers_up_to_date="true" networks="" memory="()" live="true" _ref="OpaqueRef:82982a7f-1a56-9491-45f0-6e221e4edc51"/> <row ref="OpaqueRef:82982a7f-1a56-9491-45f0-6e221e4edc51" disks="()" last_updated="20090506T12:45:12Z" PV_drivers_version="(('major' '5') ('minor' '5') ('micro' '0') ('build' '14066'))" other_config="()" os_version="" uuid="de86726b-2e8d-0441-8628-1b8f4a1c3e1e" other="" PV_drivers_up_to_date="true" networks="" memory="()" live="true" _ref="OpaqueRef:82982a7f-1a56-9491-45f0-6e221e4edc51"/>

View File

@ -66,9 +66,6 @@ namespace XenAdmin.Wizards.PatchingWizard
private List<BackgroundWorker> backgroundWorkers = new List<BackgroundWorker>(); private List<BackgroundWorker> backgroundWorkers = new List<BackgroundWorker>();
private List<UpgradeProgressDescriptor> upgradeProgressDescriptors = new List<UpgradeProgressDescriptor>();
public PatchingWizard_AutoUpdatingPage() public PatchingWizard_AutoUpdatingPage()
{ {
InitializeComponent(); InitializeComponent();
@ -117,8 +114,10 @@ namespace XenAdmin.Wizards.PatchingWizard
base.PageLoaded(direction); base.PageLoaded(direction);
if (_thisPageHasBeenCompleted) if (_thisPageHasBeenCompleted)
{ {
actionsWorker = null; backgroundWorkers.ForEach(bgw => bgw.CancelAsync());
backgroundWorkers.Clear();
return; return;
} }
@ -128,6 +127,7 @@ namespace XenAdmin.Wizards.PatchingWizard
{ {
Dictionary<Host, List<PlanAction>> planActionsByHost = new Dictionary<Host, List<PlanAction>>(); Dictionary<Host, List<PlanAction>> planActionsByHost = new Dictionary<Host, List<PlanAction>>();
Dictionary<Host, List<PlanAction>> delayedActionsByHost = new Dictionary<Host, List<PlanAction>>(); Dictionary<Host, List<PlanAction>> delayedActionsByHost = new Dictionary<Host, List<PlanAction>>();
planActionsPerPool.Add(master, new List<PlanAction>());
foreach (var host in master.Connection.Cache.Hosts) foreach (var host in master.Connection.Cache.Hosts)
{ {
@ -135,7 +135,6 @@ namespace XenAdmin.Wizards.PatchingWizard
delayedActionsByHost.Add(host, new List<PlanAction>()); delayedActionsByHost.Add(host, new List<PlanAction>());
} }
//var master = Helpers.GetMaster(pool.Connection);
var hosts = master.Connection.Cache.Hosts; var hosts = master.Connection.Cache.Hosts;
var us = Updates.GetUpgradeSequence(master.Connection); var us = Updates.GetUpgradeSequence(master.Connection);
@ -163,15 +162,10 @@ namespace XenAdmin.Wizards.PatchingWizard
UpdateDelayedAfterPatchGuidanceActionListForHost(delayedActionsByHost[host], host, patch); UpdateDelayedAfterPatchGuidanceActionListForHost(delayedActionsByHost[host], host, patch);
} }
// now add all non-delayed actions to the pool action list // now add all non-delayed actions to the pool action list
foreach (var kvp in planActionsByHost) foreach (var kvp in planActionsByHost)
{ {
if (!planActionsPerPool.ContainsKey(master))
{
planActionsPerPool.Add(master, new List<PlanAction>());
}
planActionsPerPool[master].AddRange(kvp.Value); planActionsPerPool[master].AddRange(kvp.Value);
kvp.Value.Clear(); kvp.Value.Clear();
} }
@ -188,149 +182,158 @@ namespace XenAdmin.Wizards.PatchingWizard
delayedActions.AddRange(kvp.Value); delayedActions.AddRange(kvp.Value);
} }
var upd = new UpgradeProgressDescriptor(master, planActionsPerPool[master], delayedActions); if (planActionsPerPool.ContainsKey(master) && planActionsPerPool[master].Count > 0)
upgradeProgressDescriptors.Add(upd); {
var bgw = new UpdateProgressBackgroundWorker(master, planActionsPerPool[master], delayedActions);
backgroundWorkers.Add(bgw);
}
} //foreach in SelectedMasters } //foreach in SelectedMasters
foreach (var bgw in backgroundWorkers)
//var planActions = new List<PlanAction>();
//actions list for serial execution
foreach (var desc in upgradeProgressDescriptors)
{ {
//planActions.AddRange(actionListPerPool.Value); bgw.DoWork += new DoWorkEventHandler(WorkerDoWork);
var bgw = new BackgroundWorker();
backgroundWorkers.Add(bgw);
bgw.DoWork += new DoWorkEventHandler(PatchingWizardAutomaticPatchWork);
bgw.WorkerReportsProgress = true; bgw.WorkerReportsProgress = true;
bgw.ProgressChanged += new ProgressChangedEventHandler(actionsWorker_ProgressChanged); bgw.ProgressChanged += new ProgressChangedEventHandler(WorkerProgressChanged);
bgw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(actionsWorker_RunWorkerCompleted); bgw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(WorkerCompleted);
bgw.WorkerSupportsCancellation = true; bgw.WorkerSupportsCancellation = true;
bgw.RunWorkerAsync(desc); bgw.RunWorkerAsync();
} }
//planActions.Add(new UnwindProblemsAction(ProblemsResolvedPreCheck)); if (backgroundWorkers.Count == 0)
{
_thisPageHasBeenCompleted = true;
_nextEnabled = true;
//actionsWorker = new BackgroundWorker(); OnPageUpdated();
//actionsWorker.DoWork += new DoWorkEventHandler(PatchingWizardAutomaticPatchWork); }
//actionsWorker.WorkerReportsProgress = true;
//actionsWorker.ProgressChanged += new ProgressChangedEventHandler(actionsWorker_ProgressChanged);
//actionsWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(actionsWorker_RunWorkerCompleted);
//actionsWorker.WorkerSupportsCancellation = true;
//actionsWorker.RunWorkerAsync(planActions);
} }
#region automatic_mode #region automatic_mode
private List<PlanAction> doneActions = new List<PlanAction>(); private List<PlanAction> doneActions = new List<PlanAction>();
private List<PlanAction> inProgressActions = new List<PlanAction>(); private List<PlanAction> inProgressActions = new List<PlanAction>();
private List<PlanAction> errorActions = new List<PlanAction>();
private void actionsWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) private void WorkerProgressChanged(object sender, ProgressChangedEventArgs e)
{ {
var actionsWorker = sender as BackgroundWorker; var actionsWorker = sender as BackgroundWorker;
if (!actionsWorker.CancellationPending) Program.Invoke(Program.MainWindow, () =>
{
PlanAction action = (PlanAction)e.UserState;
if (e.ProgressPercentage == 0)
{ {
inProgressActions.Add(action); if (!actionsWorker.CancellationPending)
} {
else PlanAction action = (PlanAction)e.UserState;
{ if (e.ProgressPercentage == 0)
doneActions.Add(action); {
inProgressActions.Remove(action); inProgressActions.Add(action);
}
else
{
doneActions.Add(action);
inProgressActions.Remove(action);
progressBar.Value += (int)((float)e.ProgressPercentage / (float)backgroundWorkers.Count); //extend with error handling related numbers progressBar.Value += (int)((float)e.ProgressPercentage / (float)backgroundWorkers.Count); //extend with error handling related numbers
} }
var sb = new StringBuilder(); UpdateStatusTextBox();
}
foreach (var pa in doneActions) });
{
sb.Append(pa);
sb.AppendLine(Messages.DONE);
}
foreach (var pa in inProgressActions)
{
sb.Append(pa);
sb.AppendLine();
}
textBoxLog.Text = sb.ToString();
}
} }
private void PatchingWizardAutomaticPatchWork(object sender, DoWorkEventArgs doWorkEventArgs) private void UpdateStatusTextBox()
{ {
var actionsWorker = sender as BackgroundWorker; var sb = new StringBuilder();
UpgradeProgressDescriptor descriptor = (UpgradeProgressDescriptor)doWorkEventArgs.Argument; foreach (var pa in doneActions)
{
sb.Append(pa);
sb.AppendLine(Messages.DONE);
}
var actionList = descriptor.planActions.Concat(descriptor.delayedActions).ToList(); foreach (var pa in errorActions)
{
sb.Append(pa);
sb.AppendLine(Messages.ERROR);
}
foreach (PlanAction action in actionList) foreach (var pa in inProgressActions)
{
sb.Append(pa);
sb.AppendLine();
}
textBoxLog.Text = sb.ToString();
}
private void WorkerDoWork(object sender, DoWorkEventArgs doWorkEventArgs)
{
var bgw = sender as UpdateProgressBackgroundWorker;
foreach (PlanAction action in bgw.AllActions)
{ {
try try
{ {
if (actionsWorker.CancellationPending) if (bgw.CancellationPending)
{ {
//descriptor.InProgressAction = null;
doWorkEventArgs.Cancel = true; doWorkEventArgs.Cancel = true;
return; return;
} }
//descriptor.InProgressAction = action;
bgw.ReportProgress(0, action);
actionsWorker.ReportProgress(0, action);
action.Run(); action.Run();
Thread.Sleep(1000); Thread.Sleep(1000);
//descriptor.doneActions.Add(action); bgw.doneActions.Add(action);
actionsWorker.ReportProgress((int)((1.0 / (double)actionList.Count) * 100), action); bgw.ReportProgress((int)((1.0 / (double)bgw.AllActions.Count) * 100), action);
} }
catch (Exception e) catch (Exception e)
{ {
//descriptor.FailedWithExceptionAction = action; bgw.FailedWithExceptionAction = action;
errorActions.Add(action);
inProgressActions.Remove(action);
log.Error("Failed to carry out plan.", e); log.Error("Failed to carry out plan.", e);
log.Debug(actionList); log.Debug(action.Title);
doWorkEventArgs.Result = new Exception(action.Title, e); doWorkEventArgs.Result = new Exception(action.Title, e);
bgw.ReportProgress(0);
break; break;
} }
finally
{
//descriptor.InProgressAction = null;
}
} }
} }
private void actionsWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) private void WorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{ {
if (!e.Cancelled) var bgw = (UpdateProgressBackgroundWorker)sender;
{
Exception exception = e.Result as Exception; Program.Invoke(Program.MainWindow, () =>
if (exception != null) {
{ if (!e.Cancelled)
FinishedWithErrors(exception); {
Exception exception = e.Result as Exception;
} if (exception != null)
else {
{ //not showing exceptions in the meantime
FinishedSuccessfully(); }
}
//if all finished
if (backgroundWorkers.All(w => !w.IsBusy))
{
AllWorkersFinished();
ShowErrors();
_thisPageHasBeenCompleted = true;
}
_cancelEnabled = false;
_nextEnabled = true;
}
});
progressBar.Value = 100;
_cancelEnabled = false;
_nextEnabled = true;
}
OnPageUpdated(); OnPageUpdated();
_thisPageHasBeenCompleted = true;
} }
private void UpdateDelayedAfterPatchGuidanceActionListForHost(List<PlanAction> delayedGuidances, Host host, XenServerPatch patch) private void UpdateDelayedAfterPatchGuidanceActionListForHost(List<PlanAction> delayedGuidances, Host host, XenServerPatch patch)
@ -447,37 +450,67 @@ namespace XenAdmin.Wizards.PatchingWizard
#endregion #endregion
private void FinishedWithErrors(Exception exception) private void ShowErrors()
{ {
//labelTitle.Text = string.Format(Messages.UPDATE_WAS_NOT_COMPLETED, GetUpdateName()); if (ErrorMessages != null)
string errorMessage = null;
if (exception != null && exception.InnerException != null && exception.InnerException is Failure)
{ {
var innerEx = exception.InnerException as Failure; labelTitle.Text = Messages.PATCHINGWIZARD_AUTOUPDATINGPAGE_FAILED;
errorMessage = innerEx.Message; labelError.Text = Messages.PATCHINGWIZARD_AUTOUPDATINGPAGE_ERROR;
if (innerEx.ErrorDescription != null && innerEx.ErrorDescription.Count > 0) textBoxLog.Text += ErrorMessages;
log.Error(string.Concat(innerEx.ErrorDescription.ToArray()));
log.ErrorFormat("Error message displayed: {0}", labelError.Text);
pictureBox1.Image = SystemIcons.Error.ToBitmap();
panel1.Visible = true;
} }
labelError.Text = errorMessage ?? string.Format(Messages.PATCHING_WIZARD_ERROR, exception.Message);
log.ErrorFormat("Error message displayed: {0}", labelError.Text);
pictureBox1.Image = SystemIcons.Error.ToBitmap();
if (exception.InnerException is SupplementalPackInstallFailedException)
{
errorLinkLabel.Visible = true;
errorLinkLabel.Tag = exception.InnerException;
}
panel1.Visible = true;
} }
private void FinishedSuccessfully() private string ErrorMessages
{
get
{
if (errorActions.Count == 0)
return null;
var sb = new StringBuilder();
sb.AppendLine();
sb.AppendLine(errorActions.Count > 1 ? Messages.PATCHINGWIZARD_AUTOUPDATINGPAGE_ERRORS_OCCURED : Messages.PATCHINGWIZARD_AUTOUPDATINGPAGE_ERROR_OCCURED);
foreach (var action in errorActions)
{
var exception = action.Error;
if (exception == null)
{
log.ErrorFormat("An action has failed with an empty exception. Action: {0}", action.ToString());
continue;
}
if (exception != null && exception.InnerException != null && exception.InnerException is Failure)
{
var innerEx = exception.InnerException as Failure;
sb.AppendLine(innerEx.Message);
if (innerEx.ErrorDescription != null && innerEx.ErrorDescription.Count > 0)
sb.AppendLine(string.Concat(innerEx.ErrorDescription.ToArray()));
}
else
{
if (exception is Failure && ((Failure)exception).ErrorDescription != null)
sb.AppendLine(string.Concat(((Failure)exception).ErrorDescription.ToArray()));
else
sb.AppendLine(exception.Message);
}
}
return sb.ToString();
}
}
private void AllWorkersFinished()
{ {
labelTitle.Text = Messages.PATCHINGWIZARD_UPDATES_DONE_AUTOMATIC_MODE; labelTitle.Text = Messages.PATCHINGWIZARD_UPDATES_DONE_AUTOMATIC_MODE;
progressBar.Value = 100;
pictureBox1.Image = null; pictureBox1.Image = null;
labelError.Text = Messages.CLOSE_WIZARD_CLICK_FINISH; labelError.Text = Messages.CLOSE_WIZARD_CLICK_FINISH;
} }

View File

@ -48,7 +48,7 @@ namespace XenAdmin.Wizards.PatchingWizard.PlanActions
private string tempFileName = null; private string tempFileName = null;
public DownloadPatchPlanAction(IXenConnection connection, XenServerPatch patch, List<PoolPatchMapping> mappings, Dictionary<XenServerPatch, string> allDownloadedPatches) public DownloadPatchPlanAction(IXenConnection connection, XenServerPatch patch, List<PoolPatchMapping> mappings, Dictionary<XenServerPatch, string> allDownloadedPatches)
: base(connection, string.Format("Downloading update {0}...", patch.Name)) : base(connection, string.Format(Messages.PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_WAITING, patch.Name))
{ {
this.patch = patch; this.patch = patch;
this.mappings = mappings; this.mappings = mappings;
@ -59,6 +59,8 @@ namespace XenAdmin.Wizards.PatchingWizard.PlanActions
{ {
lock (patch) lock (patch)
{ {
this._title = string.Format(Messages.PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_DOWNLOADING, patch.Name);
//if it has not been already downloaded //if it has not been already downloaded
if (!AllDownloadedPatches.Any(dp => dp.Key == patch && !string.IsNullOrEmpty(dp.Value)) if (!AllDownloadedPatches.Any(dp => dp.Key == patch && !string.IsNullOrEmpty(dp.Value))
|| !File.Exists(AllDownloadedPatches[patch])) || !File.Exists(AllDownloadedPatches[patch]))
@ -67,7 +69,7 @@ namespace XenAdmin.Wizards.PatchingWizard.PlanActions
} }
else else
{ {
//already downloaded this._title = string.Format(Messages.PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_SKIPPING, patch.Name);
} }
} }

View File

@ -70,7 +70,7 @@ namespace XenAdmin.Wizards.PatchingWizard.PlanActions
if (problem != null) if (problem != null)
{ {
throw new Exception(problem.Title); throw new Exception(string.Format("{0}: {1}. {2}", host, problem.Title, problem.Description));
} }
} }
catch (Exception ex) catch (Exception ex)

View File

@ -81,7 +81,7 @@ namespace XenAdmin.Wizards.PatchingWizard.PlanActions
} }
} }
private string _title; protected string _title;
public string Title public string Title
{ {

View File

@ -0,0 +1,53 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using XenAdmin.Wizards.PatchingWizard.PlanActions;
using XenAPI;
namespace XenAdmin.Wizards.PatchingWizard
{
class UpdateProgressBackgroundWorker : BackgroundWorker
{
public List<PlanAction> PlanActions { get; private set; }
public List<PlanAction> DelayedActions { get; private set; }
private Host master;
public List<PlanAction> FinsihedActions = new List<PlanAction>();
public PlanAction FailedWithExceptionAction = null;
public List<PlanAction> doneActions = new List<PlanAction>();
public UpdateProgressBackgroundWorker(Host master, List<PlanAction> planActions, List<PlanAction> delayedActions)
{
this.master = master;
this.PlanActions = planActions;
this.DelayedActions = delayedActions;
}
public List<PlanAction> AllActions
{
get
{
return PlanActions.Concat(DelayedActions).ToList();
}
}
public int TotalNumberOfActions
{
get
{
return PlanActions.Count + DelayedActions.Count;
}
}
public int ProgressPercent
{
get
{
return (int)(1.0 / (double)TotalNumberOfActions * (double)(FinsihedActions.Count));
}
}
}
}

View File

@ -869,6 +869,9 @@
<Compile Include="Wizards\PatchingWizard\PlanActions\RemoveUpdateFilesFromMaster.cs" /> <Compile Include="Wizards\PatchingWizard\PlanActions\RemoveUpdateFilesFromMaster.cs" />
<Compile Include="Wizards\PatchingWizard\PlanActions\RemoveUpdateFile.cs" /> <Compile Include="Wizards\PatchingWizard\PlanActions\RemoveUpdateFile.cs" />
<Compile Include="Wizards\PatchingWizard\PlanActions\InstallSupplementalPackPlanAction.cs" /> <Compile Include="Wizards\PatchingWizard\PlanActions\InstallSupplementalPackPlanAction.cs" />
<Compile Include="Wizards\PatchingWizard\UpdateProgressBackgroundWorker.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Wizards\PatchingWizard\UpgradeProgressDescriptor.cs" /> <Compile Include="Wizards\PatchingWizard\UpgradeProgressDescriptor.cs" />
<Compile Include="XenSearch\TreeNodeGroupAcceptor.cs"> <Compile Include="XenSearch\TreeNodeGroupAcceptor.cs">
</Compile> </Compile>
@ -3968,15 +3971,6 @@
<Content Include="Help\XenCenter.zh-CN.chm"> <Content Include="Help\XenCenter.zh-CN.chm">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content> </Content>
<None Include="Help\WLB.zh-CN.chm">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Help\WLB.chm">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Help\WLB.ja.chm">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Include="Images\attach_virtualstorage_32.png" /> <None Include="Images\attach_virtualstorage_32.png" />
<None Include="Images\backup_restore_32.png" /> <None Include="Images\backup_restore_32.png" />
<None Include="Images\copy_16.png" /> <None Include="Images\copy_16.png" />

View File

@ -91,8 +91,16 @@ namespace XenAdmin.Actions
config["pass"] = password; config["pass"] = password;
try try
{ {
//CA-48122: Call disable just in case it was not disabled properly try
Pool.disable_external_auth(Session, Pool.opaque_ref, new Dictionary<string, string>()); {
//CA-48122: Call disable just in case it was not disabled properly
Pool.disable_external_auth(Session, Pool.opaque_ref, new Dictionary<string, string>());
}
catch (Exception ex)
{
log.Debug("Tried to disable AD before enabling it, but it has failed. Ignoring it, because in this case we are executing disable on best effort basis only.", ex);
}
XenAPI.Pool.enable_external_auth(Session, Pool.opaque_ref, config, domain, Auth.AUTH_TYPE_AD); XenAPI.Pool.enable_external_auth(Session, Pool.opaque_ref, config, domain, Auth.AUTH_TYPE_AD);
} }
catch (Failure f) catch (Failure f)

View File

@ -1215,7 +1215,7 @@
<value>Unable to log in to XAPI session.</value> <value>Unable to log in to XAPI session.</value>
</data> </data>
<data name="Message.body-wlb_consultation_failed" xml:space="preserve"> <data name="Message.body-wlb_consultation_failed" xml:space="preserve">
<value>Pool '{0}' failed to retrieve placement recommendations from WLB for VM '{1}'.</value> <value>Pool '{0}' failed to retrieve placement recommendations from WLB for '{1}'.</value>
</data> </data>
<data name="Message.body-wlb_optimization_alert" xml:space="preserve"> <data name="Message.body-wlb_optimization_alert" xml:space="preserve">
<value>WLB reports that the pool '{0}' is in need of optimization. The pool optimization mode is set to '{1}' and the severity of the alert is '{2}'.</value> <value>WLB reports that the pool '{0}' is in need of optimization. The pool optimization mode is set to '{1}' and the severity of the alert is '{2}'.</value>

View File

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:4.0.30319.34209 // Runtime Version:4.0.30319.42000
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.
@ -258,6 +258,15 @@ namespace XenAdmin {
} }
} }
/// <summary>
/// Looks up a localized string similar to http://www.citrix.com/xenserver/le/features/ad.
/// </summary>
public static string UPSELL_LEARNMOREURL_AD {
get {
return ResourceManager.GetString("UPSELL_LEARNMOREURL_AD", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to http://www.citrix.com/xenserver/le/features/alerts. /// Looks up a localized string similar to http://www.citrix.com/xenserver/le/features/alerts.
/// </summary> /// </summary>

View File

@ -246,4 +246,7 @@
<data name="XENSERVER_UPDATE_URL" xml:space="preserve"> <data name="XENSERVER_UPDATE_URL" xml:space="preserve">
<value>http://updates.xensource.com/XenServer/updates.xml</value> <value>http://updates.xensource.com/XenServer/updates.xml</value>
</data> </data>
<data name="UPSELL_LEARNMOREURL_AD" xml:space="preserve">
<value>http://www.citrix.com/xenserver/le/features/ad</value>
</data>
</root> </root>

View File

@ -246,4 +246,7 @@
<data name="XENSERVER_UPDATE_URL" xml:space="preserve"> <data name="XENSERVER_UPDATE_URL" xml:space="preserve">
<value>http://updates.xensource.com/XenServer/updates.xml</value> <value>http://updates.xensource.com/XenServer/updates.xml</value>
</data> </data>
<data name="UPSELL_LEARNMOREURL_AD" xml:space="preserve">
<value>http://www.citrix.com/xenserver/le/features/ad</value>
</data>
</root> </root>

View File

@ -246,4 +246,7 @@
<data name="XENSERVER_UPDATE_URL" xml:space="preserve"> <data name="XENSERVER_UPDATE_URL" xml:space="preserve">
<value>http://updates.xensource.com/XenServer/updates.xml</value> <value>http://updates.xensource.com/XenServer/updates.xml</value>
</data> </data>
<data name="UPSELL_LEARNMOREURL_AD" xml:space="preserve">
<value>http://www.citrix.com/xenserver/le/features/ad</value>
</data>
</root> </root>

View File

@ -13706,6 +13706,15 @@ namespace XenAdmin {
} }
} }
/// <summary>
/// Looks up a localized string similar to Could not create SSL/TLS secure channel..
/// </summary>
public static string ERROR_SECURE_CHANNEL_FAILURE {
get {
return ResourceManager.GetString("ERROR_SECURE_CHANNEL_FAILURE", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to An unknown error occurred.. /// Looks up a localized string similar to An unknown error occurred..
/// </summary> /// </summary>
@ -25594,6 +25603,42 @@ namespace XenAdmin {
} }
} }
/// <summary>
/// Looks up a localized string similar to Update process was not completed successfully. Check .
/// </summary>
public static string PATCHINGWIZARD_AUTOUPDATINGPAGE_ERROR {
get {
return ResourceManager.GetString("PATCHINGWIZARD_AUTOUPDATINGPAGE_ERROR", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Following error occured while automatic upgrade was in progress: .
/// </summary>
public static string PATCHINGWIZARD_AUTOUPDATINGPAGE_ERROR_OCCURED {
get {
return ResourceManager.GetString("PATCHINGWIZARD_AUTOUPDATINGPAGE_ERROR_OCCURED", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Following errors occured while automatic upgrade was in progress:.
/// </summary>
public static string PATCHINGWIZARD_AUTOUPDATINGPAGE_ERRORS_OCCURED {
get {
return ResourceManager.GetString("PATCHINGWIZARD_AUTOUPDATINGPAGE_ERRORS_OCCURED", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Update was not completed successfully.
/// </summary>
public static string PATCHINGWIZARD_AUTOUPDATINGPAGE_FAILED {
get {
return ResourceManager.GetString("PATCHINGWIZARD_AUTOUPDATINGPAGE_FAILED", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Upload and Install. /// Looks up a localized string similar to Upload and Install.
/// </summary> /// </summary>
@ -25621,6 +25666,33 @@ namespace XenAdmin {
} }
} }
/// <summary>
/// Looks up a localized string similar to Downloading update {0}....
/// </summary>
public static string PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_DOWNLOADING {
get {
return ResourceManager.GetString("PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_DOWNLOADING", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Skipping download: Already downloaded update {0}....
/// </summary>
public static string PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_SKIPPING {
get {
return ResourceManager.GetString("PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_SKIPPING", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Waiting to download update {0}....
/// </summary>
public static string PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_WAITING {
get {
return ResourceManager.GetString("PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_WAITING", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to No action required. /// Looks up a localized string similar to No action required.
/// </summary> /// </summary>
@ -25964,7 +26036,7 @@ namespace XenAdmin {
} }
/// <summary> /// <summary>
/// Looks up a localized string similar to a. /// Looks up a localized string similar to This server is not licensed for automatic updating.
/// </summary> /// </summary>
public static string PATCHINGWIZARD_SELECTSERVERPAGE_HOST_UNLICENSED_FOR_BATCH_UPDATING { public static string PATCHINGWIZARD_SELECTSERVERPAGE_HOST_UNLICENSED_FOR_BATCH_UPDATING {
get { get {
@ -33219,6 +33291,26 @@ namespace XenAdmin {
} }
} }
/// <summary>
/// Looks up a localized string similar to Upgrade your [XenServer] license to enable Active Directory. Active Directory allows you to configure [XenServer] access control by adding named user accounts..
/// </summary>
public static string UPSELL_BLURB_AD {
get {
return ResourceManager.GetString("UPSELL_BLURB_AD", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to
///
///To learn more about the [XenServer] Active Directory feature or to start a [XenServer] trial, click the button below..
/// </summary>
public static string UPSELL_BLURB_AD_MORE {
get {
return ResourceManager.GetString("UPSELL_BLURB_AD_MORE", resourceCulture);
}
}
/// <summary> /// <summary>
/// Looks up a localized string similar to Upgrade your [XenServer] license to enable Alerting and Reporting capabilities. Email based performance and error alerting will proactively notify administrators of error conditions or performance problems before they affect critical services.. /// Looks up a localized string similar to Upgrade your [XenServer] license to enable Alerting and Reporting capabilities. Email based performance and error alerting will proactively notify administrators of error conditions or performance problems before they affect critical services..
/// </summary> /// </summary>

View File

@ -11488,6 +11488,14 @@ VM が再起動したら、[[XenServer product] Tools のインストール] を
<data name="UPLOAD_PATCH_UPLOADED" xml:space="preserve"> <data name="UPLOAD_PATCH_UPLOADED" xml:space="preserve">
<value>アップロード済み</value> <value>アップロード済み</value>
</data> </data>
<data name="UPSELL_BLURB_AD" xml:space="preserve">
<value>Upgrade your [XenServer] license to enable Active Directory. Active Directory allows you to configure [XenServer] access control by adding named user accounts.</value>
</data>
<data name="UPSELL_BLURB_AD_MORE" xml:space="preserve">
<value>
To learn more about the [XenServer] Active Directory feature or to start a [XenServer] trial, click the button below.</value>
</data>
<data name="UPSELL_BLURB_ALERTS" xml:space="preserve"> <data name="UPSELL_BLURB_ALERTS" xml:space="preserve">
<value>アラートとレポート機能を使用するには、[XenServer] ライセンスをアップグレードしてください。パフォーマンス上の問題やエラー状態に関するメール アラートにより、管理者は、基幹サービスが影響を受ける前に潜在的な問題に対処することができます。</value> <value>アラートとレポート機能を使用するには、[XenServer] ライセンスをアップグレードしてください。パフォーマンス上の問題やエラー状態に関するメール アラートにより、管理者は、基幹サービスが影響を受ける前に潜在的な問題に対処することができます。</value>
</data> </data>

View File

@ -4828,6 +4828,9 @@ Would you like to eject these ISOs before continuing?</value>
<data name="ERROR_PUTTY_LAUNCHING" xml:space="preserve"> <data name="ERROR_PUTTY_LAUNCHING" xml:space="preserve">
<value>[XenCenter] has encountered a problem launching PuTTY.</value> <value>[XenCenter] has encountered a problem launching PuTTY.</value>
</data> </data>
<data name="ERROR_SECURE_CHANNEL_FAILURE" xml:space="preserve">
<value>Could not create SSL/TLS secure channel.</value>
</data>
<data name="ERROR_UNKNOWN" xml:space="preserve"> <data name="ERROR_UNKNOWN" xml:space="preserve">
<value>An unknown error occurred.</value> <value>An unknown error occurred.</value>
</data> </data>
@ -8853,6 +8856,18 @@ However, there is not enough space to perform the repartitioning, so the current
<data name="PASTE" xml:space="preserve"> <data name="PASTE" xml:space="preserve">
<value>Paste</value> <value>Paste</value>
</data> </data>
<data name="PATCHINGWIZARD_AUTOUPDATINGPAGE_ERROR" xml:space="preserve">
<value>Update process was not completed successfully. Check </value>
</data>
<data name="PATCHINGWIZARD_AUTOUPDATINGPAGE_ERRORS_OCCURED" xml:space="preserve">
<value>Following errors occured while automatic upgrade was in progress:</value>
</data>
<data name="PATCHINGWIZARD_AUTOUPDATINGPAGE_ERROR_OCCURED" xml:space="preserve">
<value>Following error occured while automatic upgrade was in progress: </value>
</data>
<data name="PATCHINGWIZARD_AUTOUPDATINGPAGE_FAILED" xml:space="preserve">
<value>Update was not completed successfully</value>
</data>
<data name="PATCHINGWIZARD_AUTOUPDATINGPAGE_TEXT" xml:space="preserve"> <data name="PATCHINGWIZARD_AUTOUPDATINGPAGE_TEXT" xml:space="preserve">
<value>Upload and Install</value> <value>Upload and Install</value>
</data> </data>
@ -8862,6 +8877,15 @@ However, there is not enough space to perform the repartitioning, so the current
<data name="PATCHINGWIZARD_CLEANUP" xml:space="preserve"> <data name="PATCHINGWIZARD_CLEANUP" xml:space="preserve">
<value>Clean up...</value> <value>Clean up...</value>
</data> </data>
<data name="PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_DOWNLOADING" xml:space="preserve">
<value>Downloading update {0}...</value>
</data>
<data name="PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_SKIPPING" xml:space="preserve">
<value>Skipping download: Already downloaded update {0}...</value>
</data>
<data name="PATCHINGWIZARD_DOWNLOADUPDATE_ACTION_TITLE_WAITING" xml:space="preserve">
<value>Waiting to download update {0}...</value>
</data>
<data name="PATCHINGWIZARD_MODEPAGE_NOACTION" xml:space="preserve"> <data name="PATCHINGWIZARD_MODEPAGE_NOACTION" xml:space="preserve">
<value>No action required</value> <value>No action required</value>
</data> </data>
@ -11515,6 +11539,14 @@ Note that if RBAC is enabled, only updates which you have privileges to dismiss
<data name="UPLOAD_PATCH_UPLOADED" xml:space="preserve"> <data name="UPLOAD_PATCH_UPLOADED" xml:space="preserve">
<value>Uploaded</value> <value>Uploaded</value>
</data> </data>
<data name="UPSELL_BLURB_AD" xml:space="preserve">
<value>Upgrade your [XenServer] license to enable Active Directory. Active Directory allows you to configure [XenServer] access control by adding named user accounts.</value>
</data>
<data name="UPSELL_BLURB_AD_MORE" xml:space="preserve">
<value>
To learn more about the [XenServer] Active Directory feature or to start a [XenServer] trial, click the button below.</value>
</data>
<data name="UPSELL_BLURB_ALERTS" xml:space="preserve"> <data name="UPSELL_BLURB_ALERTS" xml:space="preserve">
<value>Upgrade your [XenServer] license to enable Alerting and Reporting capabilities. Email based performance and error alerting will proactively notify administrators of error conditions or performance problems before they affect critical services.</value> <value>Upgrade your [XenServer] license to enable Alerting and Reporting capabilities. Email based performance and error alerting will proactively notify administrators of error conditions or performance problems before they affect critical services.</value>
</data> </data>

View File

@ -11487,6 +11487,14 @@ VM 克隆使用文件管理器的快照和克隆功能来实现高性能,并
<data name="UPLOAD_PATCH_UPLOADED" xml:space="preserve"> <data name="UPLOAD_PATCH_UPLOADED" xml:space="preserve">
<value>已上载</value> <value>已上载</value>
</data> </data>
<data name="UPSELL_BLURB_AD" xml:space="preserve">
<value>升级你的 [XenServer] 许可来激活 Active Directory 功能。Active Directory 功能允许你通过增加命名用户帐号来配置 [XenServer] 实现访问控制。</value>
</data>
<data name="UPSELL_BLURB_AD_MORE" xml:space="preserve">
<value>
要了解更多 [XenServer] 的 Active Directory 功能,或 获取一个 [XenServer]试用许可,请点击以下按钮。</value>
</data>
<data name="UPSELL_BLURB_ALERTS" xml:space="preserve"> <data name="UPSELL_BLURB_ALERTS" xml:space="preserve">
<value>升级您的 [XenServer] 许可证以启用警报和报告功能。基于电子邮件的性能和错误警报将在错误情况或性能问题对关键服务产生影响之前,抢先将这些情况或问题通知给管理员。</value> <value>升级您的 [XenServer] 许可证以启用警报和报告功能。基于电子邮件的性能和错误警报将在错误情况或性能问题对关键服务产生影响之前,抢先将这些情况或问题通知给管理员。</value>
</data> </data>

View File

@ -921,6 +921,10 @@ namespace XenAdmin.Network
{ {
return string.Format(Messages.CONNECT_NO_XAPI_FAILURE, this.Hostname); return string.Format(Messages.CONNECT_NO_XAPI_FAILURE, this.Hostname);
} }
else if (w.Status == WebExceptionStatus.SecureChannelFailure)
{
return string.Format(Messages.ERROR_SECURE_CHANNEL_FAILURE, this.Hostname);
}
else else
{ {
return w.Message; return w.Message;

View File

@ -466,6 +466,19 @@ namespace XenAPI
return h._RestrictIntraPoolMigrate; return h._RestrictIntraPoolMigrate;
} }
/// <summary>
/// Active directory is restricted only if the "restrict_ad" key exists and it is true
/// </summary>
private bool _RestrictAD
{
get { return BoolKey(license_params, "restrict_ad"); }
}
public static bool RestrictAD(Host h)
{
return h._RestrictAD;
}
private bool _RestrictReadCaching private bool _RestrictReadCaching
{ {
get { return BoolKeyPreferTrue(license_params, "restrict_read_caching"); } get { return BoolKeyPreferTrue(license_params, "restrict_read_caching"); }

View File

@ -180,8 +180,8 @@ STORE_FILES=${BUILD_TOOLS}/scripts/storefiles.py
# this is where the build will find the RPU hotfixes # this is where the build will find the RPU hotfixes
WEB_HOTFIXES_ROOT=https://repo.citrite.net/builds/xs/hotfixes WEB_HOTFIXES_ROOT=https://repo.citrite.net/builds/xs/hotfixes
WEB_HOTFIXES=${WEB_HOTFIXES_ROOT}/${XS_BRANCH} WEB_HOTFIXES=${WEB_HOTFIXES_ROOT}/${XS_BRANCH}/
WEB_HOTFIXES_TRUNK=${WEB_HOTFIXES_ROOT}/trunk WEB_HOTFIXES_TRUNK=${WEB_HOTFIXES_ROOT}/trunk/
WGET_OPT="-T 10 -N -q" WGET_OPT="-T 10 -N -q"
WGET () { wget ${WGET_OPT} "${@}"; } WGET () { wget ${WGET_OPT} "${@}"; }

View File

@ -59,7 +59,7 @@ rebranding_global()
-e "s#\"\[BRANDING_COPYRIGHT\]\"#${BRANDING_COPYRIGHT}#g" \ -e "s#\"\[BRANDING_COPYRIGHT\]\"#${BRANDING_COPYRIGHT}#g" \
-e "s#\"\[BRANDING_COPYRIGHT_2\]\"#${BRANDING_COPYRIGHT_2}#g" \ -e "s#\"\[BRANDING_COPYRIGHT_2\]\"#${BRANDING_COPYRIGHT_2}#g" \
-e "s#\[XenServer product\]#${BRANDING_PRODUCT_BRAND}#g" \ -e "s#\[XenServer product\]#${BRANDING_PRODUCT_BRAND}#g" \
-e "s#\[BRANDING_PRODUCT_VERSION\]#${BRANDING_PRODUCT_VERSION}#g" \ -e "s#\[BRANDING_PRODUCT_VERSION\]#${BRANDING_XC_PRODUCT_VERSION}#g" \
-e "s#\[BRANDING_PRODUCT_VERSION_TEXT\]#${BRANDING_PRODUCT_VERSION_TEXT}#g" \ -e "s#\[BRANDING_PRODUCT_VERSION_TEXT\]#${BRANDING_PRODUCT_VERSION_TEXT}#g" \
-e "s#\[xensearch\]#${BRANDING_SEARCH}#g" \ -e "s#\[xensearch\]#${BRANDING_SEARCH}#g" \
-e "s#\[xsupdate\]#${BRANDING_UPDATE}#g" \ -e "s#\[xsupdate\]#${BRANDING_UPDATE}#g" \

View File

@ -131,19 +131,25 @@ source ${REPO}/Branding/branding.sh
source ${REPO}/mk/re-branding.sh source ${REPO}/mk/re-branding.sh
function get_hotfix () function get_hotfixes ()
{ {
local -r hotfix="$1" local -r p="$1"
local -r p=${REPO}/Branding/Hotfixes _WGET -L -np -nH -r --cut-dirs 4 -R index.html -P ${p} ${WEB_HOTFIXES} || _WGET -L -np -nH -r --cut-dirs 4 -R index.html -P ${p} ${WEB_HOTFIXES_TRUNK}
_WGET -P ${p} ${WEB_HOTFIXES}/${hotfix} || _WGET -P ${p} ${WEB_HOTFIXES_TRUNK}/${hotfix}
} }
#bring RPU hotfixes #bring RPU hotfixes
if [ "${BRANDING_UPDATE}" = "xsupdate" ] if [ "${BRANDING_UPDATE}" = "xsupdate" ]
then then
get_hotfix RPU001/1.0/RPU001.xsupdate echo "INFO: Bring RPU hotfixes..."
get_hotfix RPU001/1.0/RPU001-src-pkgs.tar && cd ${REPO}/Branding/Hotfixes && rm -f RPU001-src-pkgs.tar.gz && gzip RPU001-src-pkgs.tar get_hotfixes ${REPO}/Branding/Hotfixes
get_hotfix RPU002/1.0/RPU002.xsupdate cd ${REPO}/Branding/Hotfixes
latest=$(ls RPU001 | /usr/bin/sort -n | tail -n 1)
echo "INFO: Latest version of RPU001 hotfix is $latest"
cp RPU001/$latest/RPU001.xsupdate RPU001.xsupdate
cp RPU001/$latest/RPU001-src-pkgs.tar RPU001-src-pkgs.tar && rm -f RPU001-src-pkgs.tar.gz && gzip RPU001-src-pkgs.tar
latest=$(ls RPU002 | /usr/bin/sort -n | tail -n 1)
echo "INFO: Latest version of RPU002 hotfix is $latest"
cp RPU002/$latest/RPU002.xsupdate RPU002.xsupdate
fi fi
#build #build