mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2024-11-24 22:06:59 +01:00
Merge branch 'master' of https://github.com/xenserver/xenadmin
This commit is contained in:
commit
d829654203
@ -210,7 +210,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="WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED" />
|
<PropertyRef Id="WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED" />
|
||||||
- <Condition Message=".NET Framework 4.6 is required for this installation."><![CDATA[Installed OR WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED]]></Condition>
|
- <Condition Message="Microsoft .NET Framework 4.6 or later is required for this installation. Please install it from: https://www.microsoft.com/net/download/framework"><![CDATA[Installed OR WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED]]></Condition>
|
||||||
+ <Condition Message="!(loc.Required_For_Installation)"><![CDATA[Installed OR WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED]]></Condition>
|
+ <Condition Message="!(loc.Required_For_Installation)"><![CDATA[Installed OR WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED]]></Condition>
|
||||||
<Property Id="PERMACHINEINSTALL">
|
<Property Id="PERMACHINEINSTALL">
|
||||||
<RegistrySearch Id="InstallRegistry" Type="raw" Root="HKLM" Key="Software\[Citrix]\[XenCenter]" Name="InstallDir" />
|
<RegistrySearch Id="InstallRegistry" Type="raw" Root="HKLM" Key="Software\[Citrix]\[XenCenter]" Name="InstallDir" />
|
||||||
|
@ -310,7 +310,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="WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED" />
|
<PropertyRef Id="WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED" />
|
||||||
<Condition Message=".NET Framework 4.6 is required for this installation."><![CDATA[Installed OR WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED]]></Condition>
|
<Condition Message="Microsoft .NET Framework 4.6 or later is required for this installation. Please install it from: https://www.microsoft.com/net/download/framework"><![CDATA[Installed OR WIX_IS_NETFRAMEWORK_46_OR_LATER_INSTALLED]]></Condition>
|
||||||
<Property Id="PERMACHINEINSTALL">
|
<Property Id="PERMACHINEINSTALL">
|
||||||
<RegistrySearch Id="InstallRegistry" Type="raw" Root="HKLM" Key="Software\[Citrix]\[XenCenter]" Name="InstallDir" />
|
<RegistrySearch Id="InstallRegistry" Type="raw" Root="HKLM" Key="Software\[Citrix]\[XenCenter]" Name="InstallDir" />
|
||||||
</Property>
|
</Property>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<String Id="XenServer_Update_File">[XenServer] Update File</String>
|
<String Id="XenServer_Update_File">[XenServer] Update File</String>
|
||||||
<String Id="XenServer_OEM_Update_File">[XenServer] OEM Update File</String>
|
<String Id="XenServer_OEM_Update_File">[XenServer] OEM Update File</String>
|
||||||
<String Id="XenCenter_Saved_Search">[XenCenter] Saved Search</String>
|
<String Id="XenCenter_Saved_Search">[XenCenter] Saved Search</String>
|
||||||
<String Id="Required_For_Installation">.NET Framework 4 is required for this installation.</String>
|
<String Id="Required_For_Installation">Microsoft .NET Framework 4.6 or later is required for this installation. Please install it from: https://www.microsoft.com/net/download/framework</String>
|
||||||
<String Id="Readme">README.TXT</String>
|
<String Id="Readme">README.TXT</String>
|
||||||
<String Id="HealthCheckDescr">Enables monitoring of the health of your Citrix XenServer pools by periodically uploading data from the servers to Citrix Insight Services.</String>
|
<String Id="HealthCheckDescr">Enables monitoring of the health of your Citrix XenServer pools by periodically uploading data from the servers to Citrix Insight Services.</String>
|
||||||
<String Id="HealthCheckDescrShort">Enables monitoring of the health of your Citrix XenServer pools.</String>
|
<String Id="HealthCheckDescrShort">Enables monitoring of the health of your Citrix XenServer pools.</String>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<String Id="XenServer_Update_File">[XenServer] アップデート ファイル</String>
|
<String Id="XenServer_Update_File">[XenServer] アップデート ファイル</String>
|
||||||
<String Id="XenServer_OEM_Update_File">[XenServer] OEM アップデート ファイル</String>
|
<String Id="XenServer_OEM_Update_File">[XenServer] OEM アップデート ファイル</String>
|
||||||
<String Id="XenCenter_Saved_Search">[XenCenter] 保存済みの検索</String>
|
<String Id="XenCenter_Saved_Search">[XenCenter] 保存済みの検索</String>
|
||||||
<String Id="Required_For_Installation">このインストールには .NET Framework 4 が必要です。</String>
|
<String Id="Required_For_Installation">このインストールには .NET Framework 4.6 が必要です。</String>
|
||||||
<String Id="Readme">README.TXT</String>
|
<String Id="Readme">README.TXT</String>
|
||||||
<String Id="HealthCheckDescr">サーバーから Citrix Insight Services に定期的にデータをアップロードすることにより、Citrix XenServer プールのヘルス状態の監視を有効にします。</String>
|
<String Id="HealthCheckDescr">サーバーから Citrix Insight Services に定期的にデータをアップロードすることにより、Citrix XenServer プールのヘルス状態の監視を有効にします。</String>
|
||||||
<String Id="HealthCheckDescrShort">Citrix XenServer プールのヘルス状態の監視を有効にします。</String>
|
<String Id="HealthCheckDescrShort">Citrix XenServer プールのヘルス状態の監視を有効にします。</String>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<String Id="XenServer_Update_File">[XenServer] 更新文件</String>
|
<String Id="XenServer_Update_File">[XenServer] 更新文件</String>
|
||||||
<String Id="XenServer_OEM_Update_File">[XenServer] OEM 更新文件</String>
|
<String Id="XenServer_OEM_Update_File">[XenServer] OEM 更新文件</String>
|
||||||
<String Id="XenCenter_Saved_Search">[XenCenter] 保存的搜索</String>
|
<String Id="XenCenter_Saved_Search">[XenCenter] 保存的搜索</String>
|
||||||
<String Id="Required_For_Installation">此安装需要 .NET Framework 4。</String>
|
<String Id="Required_For_Installation">此安装需要 .NET Framework 4.6。</String>
|
||||||
<String Id="Readme">声明.TXT</String>
|
<String Id="Readme">声明.TXT</String>
|
||||||
<String Id="HealthCheckDescr">通过定期将数据从服务器上载到 Citrix Insight Services,实现对 Citrix XenServer 池的运行状况监视。</String>
|
<String Id="HealthCheckDescr">通过定期将数据从服务器上载到 Citrix Insight Services,实现对 Citrix XenServer 池的运行状况监视。</String>
|
||||||
<String Id="HealthCheckDescrShort">允许监视 Citrix XenServer 池的运行状况。</String>
|
<String Id="HealthCheckDescrShort">允许监视 Citrix XenServer 池的运行状况。</String>
|
||||||
|
@ -57,7 +57,7 @@ namespace XenAdmin
|
|||||||
get
|
get
|
||||||
{
|
{
|
||||||
var s = SEARCH;
|
var s = SEARCH;
|
||||||
return s != "[" + "xensearch]" ? s : InvisibleMessages.XEN_SEARCH;
|
return s != "[" + "xensearch]" ? s.ToLowerInvariant() : InvisibleMessages.XEN_SEARCH.ToLowerInvariant();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ namespace XenAdmin
|
|||||||
get
|
get
|
||||||
{
|
{
|
||||||
var s = UPDATE;
|
var s = UPDATE;
|
||||||
return s != "[" + "xsupdate]" ? s : InvisibleMessages.XEN_UPDATE;
|
return s != "[" + "xsupdate]" ? s.ToLowerInvariant() : InvisibleMessages.XEN_UPDATE.ToLowerInvariant();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ namespace XenAdmin
|
|||||||
get
|
get
|
||||||
{
|
{
|
||||||
var s = UPDATEISO;
|
var s = UPDATEISO;
|
||||||
return s != "[" + "iso]" ? s : InvisibleMessages.ISO_UPDATE;
|
return s != "[" + "iso]" ? s.ToLowerInvariant() : InvisibleMessages.ISO_UPDATE.ToLowerInvariant();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -258,6 +258,7 @@ namespace XenAdmin.Diagnostics.Checks
|
|||||||
|
|
||||||
case "PATCH_PRECHECK_FAILED_OUT_OF_SPACE":
|
case "PATCH_PRECHECK_FAILED_OUT_OF_SPACE":
|
||||||
System.Diagnostics.Trace.Assert(Helpers.CreamOrGreater(Host.Connection)); // If not Cream or greater, we shouldn't get this error
|
System.Diagnostics.Trace.Assert(Helpers.CreamOrGreater(Host.Connection)); // If not Cream or greater, we shouldn't get this error
|
||||||
|
System.Diagnostics.Trace.Assert(!Helpers.ElyOrGreater(Host.Connection)); // If Ely or greater, we shouldn't get this error
|
||||||
|
|
||||||
long.TryParse(found, out foundSpace);
|
long.TryParse(found, out foundSpace);
|
||||||
long.TryParse(required, out requiredSpace);
|
long.TryParse(required, out requiredSpace);
|
||||||
@ -287,9 +288,11 @@ namespace XenAdmin.Diagnostics.Checks
|
|||||||
return new HostOutOfSpaceProblem(this, Host, Update, diskSpaceReq);
|
return new HostOutOfSpaceProblem(this, Host, Update, diskSpaceReq);
|
||||||
|
|
||||||
case "OUT_OF_SPACE":
|
case "OUT_OF_SPACE":
|
||||||
if (Helpers.CreamOrGreater(Host.Connection))
|
if (Helpers.CreamOrGreater(Host.Connection) && (Patch != null || Update != null))
|
||||||
{
|
{
|
||||||
var action = new GetDiskSpaceRequirementsAction(Host, Patch, true);
|
var action = Patch != null
|
||||||
|
? new GetDiskSpaceRequirementsAction(Host, Patch, true)
|
||||||
|
: new GetDiskSpaceRequirementsAction(Host, Update.Name, Update.installation_size, true);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
action.RunExternal(action.Session);
|
action.RunExternal(action.Session);
|
||||||
@ -299,7 +302,9 @@ namespace XenAdmin.Diagnostics.Checks
|
|||||||
log.WarnFormat("Could not get disk space requirements");
|
log.WarnFormat("Could not get disk space requirements");
|
||||||
}
|
}
|
||||||
if (action.Succeeded)
|
if (action.Succeeded)
|
||||||
return new HostOutOfSpaceProblem(this, Host, Patch, action.DiskSpaceRequirements);
|
return Patch != null
|
||||||
|
? new HostOutOfSpaceProblem(this, Host, Patch, action.DiskSpaceRequirements)
|
||||||
|
: new HostOutOfSpaceProblem(this, Host, Update, action.DiskSpaceRequirements);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -292,7 +292,7 @@ namespace XenAdmin.Wizards.PatchingWizard
|
|||||||
canUpload = true;
|
canUpload = true;
|
||||||
diskSpaceRequirements = null;
|
diskSpaceRequirements = null;
|
||||||
var diskSpaceActions = new List<AsyncAction>();
|
var diskSpaceActions = new List<AsyncAction>();
|
||||||
foreach (Host master in SelectedMasters.Where(master => Helpers.CreamOrGreater(master.Connection)))
|
foreach (Host master in SelectedMasters.Where(master => Helpers.CreamOrGreater(master.Connection) && !Helpers.ElyOrGreater(master.Connection)))
|
||||||
{
|
{
|
||||||
AsyncAction action = null;
|
AsyncAction action = null;
|
||||||
switch (SelectedUpdateType)
|
switch (SelectedUpdateType)
|
||||||
|
@ -33,6 +33,7 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
using XenAdmin.Core;
|
||||||
using XenAPI;
|
using XenAPI;
|
||||||
|
|
||||||
|
|
||||||
@ -107,18 +108,21 @@ namespace XenAdmin.Actions
|
|||||||
|
|
||||||
// get required disk space
|
// get required disk space
|
||||||
long requiredDiskSpace = updateSize;
|
long requiredDiskSpace = updateSize;
|
||||||
try
|
if (!Helpers.ElyOrGreater(Host)) // for ElyOrGreater we don't need to call get_required_space, because it will always return updateSize
|
||||||
{
|
{
|
||||||
var args = new Dictionary<string, string>();
|
try
|
||||||
args.Add("size", updateSize.ToString());
|
{
|
||||||
|
var args = new Dictionary<string, string>();
|
||||||
|
args.Add("size", updateSize.ToString());
|
||||||
|
|
||||||
result = Host.call_plugin(Session, Host.opaque_ref, "disk-space", "get_required_space", args);
|
result = Host.call_plugin(Session, Host.opaque_ref, "disk-space", "get_required_space", args);
|
||||||
requiredDiskSpace = Convert.ToInt64(result);
|
requiredDiskSpace = Convert.ToInt64(result);
|
||||||
}
|
}
|
||||||
catch (Failure failure)
|
catch (Failure failure)
|
||||||
{
|
{
|
||||||
log.WarnFormat("Plugin call disk-space.get_required_space on {0} failed with {1}", Host.Name, failure.Message);
|
log.WarnFormat("Plugin call disk-space.get_required_space on {0} failed with {1}", Host.Name, failure.Message);
|
||||||
requiredDiskSpace = 0;
|
requiredDiskSpace = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// get available disk space
|
// get available disk space
|
||||||
@ -136,7 +140,7 @@ namespace XenAdmin.Actions
|
|||||||
// get reclaimable disk space (excluding current patch)
|
// get reclaimable disk space (excluding current patch)
|
||||||
long reclaimableDiskSpace = 0;
|
long reclaimableDiskSpace = 0;
|
||||||
|
|
||||||
if (availableDiskSpace < requiredDiskSpace)
|
if (availableDiskSpace < requiredDiskSpace && !Helpers.ElyOrGreater(Host)) // for ElyOrGreater we shouldn't call get_reclaimable_disk_space
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -188,6 +188,8 @@ namespace XenAdmin.Actions
|
|||||||
}
|
}
|
||||||
catch (CancelledException)
|
catch (CancelledException)
|
||||||
{
|
{
|
||||||
|
CleanupFiles(extractTempDir, true);
|
||||||
|
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
catch (Exception exn)
|
catch (Exception exn)
|
||||||
@ -207,7 +209,7 @@ namespace XenAdmin.Actions
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CleanupFiles(string extractTempDir)
|
private void CleanupFiles(string extractTempDir, bool deleteDestFile = false)
|
||||||
{
|
{
|
||||||
// We completed successfully: delete temporary files
|
// We completed successfully: delete temporary files
|
||||||
log.Debug("Deleting temporary files");
|
log.Debug("Deleting temporary files");
|
||||||
@ -230,6 +232,18 @@ namespace XenAdmin.Actions
|
|||||||
{
|
{
|
||||||
log.Warn("Could not delete temporary extracted files directory", exn);
|
log.Warn("Could not delete temporary extracted files directory", exn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
if (deleteDestFile)
|
||||||
|
{
|
||||||
|
File.Delete(_destFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
log.Warn("Could not delete destination file", ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -3601,7 +3601,7 @@
|
|||||||
<value>yyyy年M月d日</value>
|
<value>yyyy年M月d日</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DATEFORMAT_HM" xml:space="preserve">
|
<data name="DATEFORMAT_HM" xml:space="preserve">
|
||||||
<value>HH:mm</value>
|
<value>tt h:mm</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="DATEFORMAT_HMS" xml:space="preserve">
|
<data name="DATEFORMAT_HMS" xml:space="preserve">
|
||||||
<value>HH:mm:ss</value>
|
<value>HH:mm:ss</value>
|
||||||
|
@ -399,7 +399,7 @@ namespace XenAdmin.Core
|
|||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Check whether all updates that request homogeneity are in fact homogeneous
|
/// Check whether all updates that request homogeneity are in fact homogeneous
|
||||||
/// across the proposed pool. This is used in CanJoinPool and prevents the pool from being created
|
/// between master and slave. This is used in CanJoinPool and prevents the pool from being created
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private static bool DifferentHomogeneousUpdates(Host slave, Host master)
|
private static bool DifferentHomogeneousUpdates(Host slave, Host master)
|
||||||
{
|
{
|
||||||
@ -409,23 +409,10 @@ namespace XenAdmin.Core
|
|||||||
if (!Helpers.ElyOrGreater(slave) || !Helpers.ElyOrGreater(master))
|
if (!Helpers.ElyOrGreater(slave) || !Helpers.ElyOrGreater(master))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
List<Host> allHosts = new List<Host>(master.Connection.Cache.Hosts);
|
var masterUpdates = master.AppliedUpdates().Where(update => update.enforce_homogeneity).Select(update => update.uuid).ToList();
|
||||||
allHosts.Add(slave);
|
var slaveUpdates = slave.AppliedUpdates().Where(update => update.enforce_homogeneity).Select(update => update.uuid).ToList();
|
||||||
|
|
||||||
// Collect the updates that should be homogeneous
|
return masterUpdates.Count != slaveUpdates.Count || !masterUpdates.All(slaveUpdates.Contains);
|
||||||
var homogeneousUpdates = new Dictionary<string, int>();
|
|
||||||
foreach (var host in allHosts)
|
|
||||||
{
|
|
||||||
foreach (var update in (host.AppliedUpdates().Where(update => update.enforce_homogeneity)))
|
|
||||||
{
|
|
||||||
if (homogeneousUpdates.ContainsKey(update.uuid))
|
|
||||||
homogeneousUpdates[update.uuid]++;
|
|
||||||
else
|
|
||||||
homogeneousUpdates.Add(update.uuid, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return homogeneousUpdates.Any(update => update.Value != allHosts.Count);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static bool SameLinuxPack(Host slave, Host master)
|
private static bool SameLinuxPack(Host slave, Host master)
|
||||||
|
108
XenModel/XenAPI/FriendlyErrorNames.Designer.cs
generated
108
XenModel/XenAPI/FriendlyErrorNames.Designer.cs
generated
@ -132,6 +132,24 @@ namespace XenAPI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to The host failed to enable external authentication..
|
||||||
|
/// </summary>
|
||||||
|
public static string AUTH_ENABLE_FAILED_INVALID_ACCOUNT {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AUTH_ENABLE_FAILED_INVALID_ACCOUNT", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to The host failed to enable external authentication..
|
||||||
|
/// </summary>
|
||||||
|
public static string AUTH_ENABLE_FAILED_INVALID_OU {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AUTH_ENABLE_FAILED_INVALID_OU", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Failed to enable external authentication, permission on the AD server was denied..
|
/// Looks up a localized string similar to Failed to enable external authentication, permission on the AD server was denied..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -2148,6 +2166,15 @@ namespace XenAPI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to This host has no PIF on the given network..
|
||||||
|
/// </summary>
|
||||||
|
public static string PIF_NOT_PRESENT {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("PIF_NOT_PRESENT", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to Operation cannot proceed while a tunnel exists on this interface..
|
/// Looks up a localized string similar to Operation cannot proceed while a tunnel exists on this interface..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -2256,6 +2283,15 @@ namespace XenAPI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Failed to enable external authentication, the supplied account was invalid..
|
||||||
|
/// </summary>
|
||||||
|
public static string POOL_AUTH_ENABLE_FAILED_INVALID_ACCOUNT {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("POOL_AUTH_ENABLE_FAILED_INVALID_ACCOUNT", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to The pool failed to enable external authentication..
|
/// Looks up a localized string similar to The pool failed to enable external authentication..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -2291,15 +2327,6 @@ namespace XenAPI {
|
|||||||
return ResourceManager.GetString("POOL_AUTH_ENABLE_FAILED_WRONG_CREDENTIALS", resourceCulture);
|
return ResourceManager.GetString("POOL_AUTH_ENABLE_FAILED_WRONG_CREDENTIALS", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Looks up a localized string similar to Failed to enable external authentication, the supplied account was invalid..
|
|
||||||
/// </summary>
|
|
||||||
public static string POOL_AUTH_ENABLE_FAILED_INVALID_ACCOUNT {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("POOL_AUTH_ENABLE_FAILED_INVALID_ACCOUNT", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to The external authentication configuration of the server joining the pool must match the pool's own external authentication configuration..
|
/// Looks up a localized string similar to The external authentication configuration of the server joining the pool must match the pool's own external authentication configuration..
|
||||||
@ -2355,6 +2382,24 @@ namespace XenAPI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to The host joining the pool must have the same API version as the pool master..
|
||||||
|
/// </summary>
|
||||||
|
public static string POOL_JOINING_HOST_MUST_HAVE_SAME_API_VERSION {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("POOL_JOINING_HOST_MUST_HAVE_SAME_API_VERSION", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to The host joining the pool must have the same database schema as the pool master..
|
||||||
|
/// </summary>
|
||||||
|
public static string POOL_JOINING_HOST_MUST_HAVE_SAME_DB_SCHEMA {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("POOL_JOINING_HOST_MUST_HAVE_SAME_DB_SCHEMA", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to The server joining the pool must have the same product version as the pool master..
|
/// Looks up a localized string similar to The server joining the pool must have the same product version as the pool master..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -3818,6 +3863,33 @@ namespace XenAPI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Unable to activate changed block tracking..
|
||||||
|
/// </summary>
|
||||||
|
public static string SR_BACKEND_FAILURE_457 {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SR_BACKEND_FAILURE_457", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Unable to deactivate changed block tracking..
|
||||||
|
/// </summary>
|
||||||
|
public static string SR_BACKEND_FAILURE_458 {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SR_BACKEND_FAILURE_458", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Changed block tracking log is in an inconsistent state..
|
||||||
|
/// </summary>
|
||||||
|
public static string SR_BACKEND_FAILURE_459 {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SR_BACKEND_FAILURE_459", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to The VDI is not available.
|
/// Looks up a localized string similar to The VDI is not available.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -4511,6 +4583,15 @@ namespace XenAPI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Cannot contact the other host using TLS on the specified address and port.
|
||||||
|
/// </summary>
|
||||||
|
public static string TLS_CONNECTION_FAILED {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("TLS_CONNECTION_FAILED", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to The request was rejected because the server is too busy..
|
/// Looks up a localized string similar to The request was rejected because the server is too busy..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -5159,6 +5240,15 @@ namespace XenAPI {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to VM cannot be resumed because it has no suspend VDI.
|
||||||
|
/// </summary>
|
||||||
|
public static string VM_HAS_NO_SUSPEND_VDI {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("VM_HAS_NO_SUSPEND_VDI", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized string similar to This operation could not be performed because the VM has one or more PCI devices passed through..
|
/// Looks up a localized string similar to This operation could not be performed because the VM has one or more PCI devices passed through..
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -112,10 +112,10 @@
|
|||||||
<value>2.0</value>
|
<value>2.0</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="reader">
|
<resheader name="reader">
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<data name="ACTIVATION_WHILE_NOT_FREE" xml:space="preserve">
|
<data name="ACTIVATION_WHILE_NOT_FREE" xml:space="preserve">
|
||||||
<value>An activation key can only be applied when the edition is set to 'free'.</value>
|
<value>An activation key can only be applied when the edition is set to 'free'.</value>
|
||||||
@ -859,7 +859,7 @@
|
|||||||
<value>Failed to enable external authentication, a duplicate hostname was detected.</value>
|
<value>Failed to enable external authentication, a duplicate hostname was detected.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="POOL_AUTH_ENABLE_FAILED_INVALID_ACCOUNT" xml:space="preserve">
|
<data name="POOL_AUTH_ENABLE_FAILED_INVALID_ACCOUNT" xml:space="preserve">
|
||||||
<value>The pool failed to enable external authentication.</value>
|
<value>Failed to enable external authentication, the supplied account was invalid.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="POOL_AUTH_ENABLE_FAILED_INVALID_OU" xml:space="preserve">
|
<data name="POOL_AUTH_ENABLE_FAILED_INVALID_OU" xml:space="preserve">
|
||||||
<value>The pool failed to enable external authentication.</value>
|
<value>The pool failed to enable external authentication.</value>
|
||||||
@ -873,9 +873,6 @@
|
|||||||
<data name="POOL_AUTH_ENABLE_FAILED_WRONG_CREDENTIALS" xml:space="preserve">
|
<data name="POOL_AUTH_ENABLE_FAILED_WRONG_CREDENTIALS" xml:space="preserve">
|
||||||
<value>Failed to enable external authentication, the supplied credentials were invalid.</value>
|
<value>Failed to enable external authentication, the supplied credentials were invalid.</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="POOL_AUTH_ENABLE_FAILED_INVALID_ACCOUNT" xml:space="preserve">
|
|
||||||
<value>Failed to enable external authentication, the supplied account was invalid.</value>
|
|
||||||
</data>
|
|
||||||
<data name="POOL_JOINING_EXTERNAL_AUTH_MISMATCH" xml:space="preserve">
|
<data name="POOL_JOINING_EXTERNAL_AUTH_MISMATCH" xml:space="preserve">
|
||||||
<value>The external authentication configuration of the server joining the pool must match the pool's own external authentication configuration.</value>
|
<value>The external authentication configuration of the server joining the pool must match the pool's own external authentication configuration.</value>
|
||||||
</data>
|
</data>
|
||||||
@ -2096,4 +2093,4 @@ Authorized Roles: {1}</value>
|
|||||||
<data name="XMLRPC_UNMARSHAL_FAILURE" xml:space="preserve">
|
<data name="XMLRPC_UNMARSHAL_FAILURE" xml:space="preserve">
|
||||||
<value>The server failed to unmarshal the XMLRPC message; it was expecting one element and received something else.</value>
|
<value>The server failed to unmarshal the XMLRPC message; it was expecting one element and received something else.</value>
|
||||||
</data>
|
</data>
|
||||||
</root>
|
</root>
|
@ -153,10 +153,6 @@ namespace XenAPI
|
|||||||
new Relation("hosts", "host", "updates"),
|
new Relation("hosts", "host", "updates"),
|
||||||
});
|
});
|
||||||
|
|
||||||
relations.Add(typeof(Proxy_PCI), new Relation[] {
|
|
||||||
new Relation("virtual_functions", "PCI", "physical_function"),
|
|
||||||
});
|
|
||||||
|
|
||||||
relations.Add(typeof(Proxy_Host), new Relation[] {
|
relations.Add(typeof(Proxy_Host), new Relation[] {
|
||||||
new Relation("features", "Feature", "host"),
|
new Relation("features", "Feature", "host"),
|
||||||
new Relation("PGPUs", "PGPU", "host"),
|
new Relation("PGPUs", "PGPU", "host"),
|
||||||
|
@ -37,7 +37,7 @@ echo "INFO: copyrightcheck"
|
|||||||
dir="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
dir="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
src="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"
|
src="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"
|
||||||
|
|
||||||
output=$( /usr/bin/find "$src/XenAdmin" "$src/XenModel" "$src/XenOvfApi" "$src/XenOvfTransport" "$src/mk" "$src/Branding" "$src/XenServerHealthCheckTests" "$src/devtools" "$src/dotNetInstaller" -not -ipath '*obj/*' -type f \( -iname \*.cs -o -iname \*.sh \) -not -ipath '*Designer*' -exec grep -L "Copyright (c) Citrix Systems, Inc." {} \;)
|
output=$( /usr/bin/find "$src/XenAdmin" "$src/XenModel" "$src/XenOvfApi" "$src/XenOvfTransport" "$src/mk" "$src/Branding" "$src/XenServerHealthCheckTests" "$src/devtools" -not -ipath '*obj/*' -type f \( -iname \*.cs -o -iname \*.sh \) -not -ipath '*Designer*' -exec grep -L "Copyright (c) Citrix Systems, Inc." {} \;)
|
||||||
|
|
||||||
echo "$output" | sed -e "s,$src/,,g"
|
echo "$output" | sed -e "s,$src/,,g"
|
||||||
|
|
||||||
|
@ -1,45 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
Copyright (c) Citrix Systems, Inc.
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms,
|
|
||||||
with or without modification, are permitted provided
|
|
||||||
that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above
|
|
||||||
copyright notice, this list of conditions and the
|
|
||||||
following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above
|
|
||||||
copyright notice, this list of conditions and the
|
|
||||||
following disclaimer in the documentation and/or other
|
|
||||||
materials provided with the distribution.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
||||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
||||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
||||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
||||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
||||||
SUCH DAMAGE.
|
|
||||||
-->
|
|
||||||
<configurations lcid_type="UserExe" show_language_selector="False" language_selector_title="" language_selector_ok="OK" language_selector_cancel="Cancel" configuration_no_match_message="" ui_level="basic" fileversion="[BRANDING_PRODUCT_VERSION].[BRANDING_BUILD_NUMBER]" productversion="[BRANDING_PRODUCT_VERSION]" log_enabled="False" log_file="#TEMPPATH\XenCenterExeInstallerLog.txt">
|
|
||||||
<schema version="2.3.16.0" generator="dotNetInstaller InstallerEditor" />
|
|
||||||
<fileattributes><fileattribute name="CompanyName" value="[BRANDING_COMPANY_NAME_LEGAL]" /><fileattribute name="FileDescription" value="[Citrix] [XenCenter] Installer" /><fileattribute name="ProductName" value="[Citrix] [XenCenter]" /><fileattribute name="LegalCopyright" value="[BRANDING_COPYRIGHT]"/><fileattribute name="LegalTrademarks" /></fileattributes>
|
|
||||||
<configuration dialog_caption="[Citrix] [XenCenter] Installer" dialog_message="In order to install [Citrix] [XenCenter] you must first install these components:" dialog_message_uninstall="" dialog_bitmap="#APPPATH\banner.bmp" skip_caption="Skip" install_caption="Install" uninstall_caption="Uninstall" cancel_caption="Close" status_installed=" (Installed)" status_notinstalled="" failed_exec_command_continue="" installation_completed="[Citrix] [XenCenter] installed successfully!" uninstallation_completed="[Citrix] [XenCenter] uninstalled successfully!" installation_none="[Citrix] [XenCenter] is already installed!" uninstallation_none="[Citrix] [XenCenter] is not installed!" installing_component_wait="Installing %s. Wait, this operation could take some time ..." uninstalling_component_wait="Uninstalling %s. Wait, this operation could take some time ..." reboot_required="To continue the installation you must restart your computer. Restart now?" must_reboot_required="False" dialog_otherinfo_caption="" dialog_otherinfo_link="" complete_command="" complete_command_silent="" complete_command_basic="" wait_for_complete_command="True" prompt_for_optional_components="False" auto_close_if_installed="True" auto_close_on_error="False" reload_on_error="False" dialog_show_installed="False" dialog_show_uninstalled="False" dialog_show_required="False" cab_dialog_message="%s" cab_cancelled_message="" cab_dialog_caption="" cab_path="#TEMPPATH\#GUID" cab_path_autodelete="False" dialog_default_button="cancel" dialog_position="" dialog_components_list_position="" dialog_message_position="" dialog_bitmap_position="" dialog_otherinfo_link_position="" dialog_osinfo_position="" dialog_install_button_position="" dialog_cancel_button_position="" dialog_skip_button_position="" auto_start="True" auto_continue_on_reboot="False" reboot_cmd="" show_progress_dialog="False" show_cab_dialog="False" disable_wow64_fs_redirection="False" administrator_required="False" administrator_required_message="[Citrix] [XenCenter] installation requires administration rights." type="install" lcid_filter="" language_id="" language="" os_filter="" os_filter_min="" os_filter_max="" processor_architecture_filter="" supports_install="True" supports_uninstall="True">
|
|
||||||
<component command=""#CABPATH\NDP46-KB3045560-Web.exe" /norestart" command_silent=""#CABPATH\NDP46-KB3045560-Web.exe" /passive /norestart" command_basic=""#CABPATH\NDP46-KB3045560-Web.exe" /norestart" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" working_directory="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="dotNetFx" display_name="Microsoft .NET Framework 4.6" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4.6 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.6" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
|
||||||
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Release" fieldvalue="393295" defaultvalue="False" fieldtype="REG_DWORD" comparison="version_ge" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="4.6 Installed Check" />
|
|
||||||
<embedfile sourcefilepath="NDP46-KB3045560-Web.exe" targetfilepath="" />
|
|
||||||
</component>
|
|
||||||
<component package="#CABPATH\[XenCenter].msi" cmdparameters=" " cmdparameters_silent="/passive" cmdparameters_basic=" " uninstall_package="" uninstall_cmdparameters="/qb-" uninstall_cmdparameters_silent="/qf" uninstall_cmdparameters_basic="/qb-" disable_wow64_fs_redirection="False" id="[XenCenter]" display_name="[Citrix] [XenCenter]" uninstall_display_name="" os_filter="" os_filter_min="" os_filter_max="" os_filter_lcid="" type="msi" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="True" selected_install="True" selected_uninstall="True" note="" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="True" show_progress_dialog="True" show_cab_dialog="False">
|
|
||||||
<embedfile sourcefilepath="[XenCenter].msi" targetfilepath="" />
|
|
||||||
</component>
|
|
||||||
</configuration>
|
|
||||||
</configurations>
|
|
@ -1,62 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!--
|
|
||||||
Copyright (c) Citrix Systems, Inc.
|
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms,
|
|
||||||
with or without modification, are permitted provided
|
|
||||||
that the following conditions are met:
|
|
||||||
|
|
||||||
* Redistributions of source code must retain the above
|
|
||||||
copyright notice, this list of conditions and the
|
|
||||||
following disclaimer.
|
|
||||||
* Redistributions in binary form must reproduce the above
|
|
||||||
copyright notice, this list of conditions and the
|
|
||||||
following disclaimer in the documentation and/or other
|
|
||||||
materials provided with the distribution.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
||||||
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
||||||
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
|
||||||
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
||||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
||||||
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
|
||||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
||||||
SUCH DAMAGE.
|
|
||||||
-->
|
|
||||||
<configurations lcid_type="UserExe" show_language_selector="False" language_selector_title="" language_selector_ok="OK" language_selector_cancel="Cancel" configuration_no_match_message="" ui_level="basic" fileversion="[BRANDING_PRODUCT_VERSION].[BRANDING_BUILD_NUMBER]" productversion="[BRANDING_PRODUCT_VERSION]" log_enabled="False" log_file="#TEMPPATH\XenCenterExeInstallerLog.txt">
|
|
||||||
<schema version="2.3.16.0" generator="dotNetInstaller InstallerEditor" />
|
|
||||||
<fileattributes><fileattribute name="CompanyName" value="[BRANDING_COMPANY_NAME_LEGAL]" /><fileattribute name="FileDescription" value="[Citrix] [XenCenter] Installer" /><fileattribute name="ProductName" value="[Citrix] [XenCenter]" /><fileattribute name="LegalCopyright" value="[BRANDING_COPYRIGHT]"/><fileattribute name="LegalTrademarks" /></fileattributes>
|
|
||||||
<configuration dialog_caption="[Citrix] [XenCenter] Installer" dialog_message="In order to install [Citrix] [XenCenter] you must first install these components:" dialog_message_uninstall="" dialog_bitmap="#APPPATH\banner.bmp" skip_caption="Skip" install_caption="Install" uninstall_caption="Uninstall" cancel_caption="Close" status_installed=" (Installed)" status_notinstalled="" failed_exec_command_continue="" installation_completed="[Citrix] [XenCenter] installed successfully!" uninstallation_completed="[Citrix] [XenCenter] uninstalled successfully!" installation_none="[Citrix] [XenCenter] is already installed!" uninstallation_none="[Citrix] [XenCenter] is not installed!" installing_component_wait="Installing %s. Wait, this operation could take some time ..." uninstalling_component_wait="Uninstalling %s. Wait, this operation could take some time ..." reboot_required="To continue the installation you must restart your computer. Restart now?" must_reboot_required="False" dialog_otherinfo_caption="" dialog_otherinfo_link="" complete_command="" complete_command_silent="" complete_command_basic="" wait_for_complete_command="True" prompt_for_optional_components="False" auto_close_if_installed="True" auto_close_on_error="False" reload_on_error="False" dialog_show_installed="False" dialog_show_uninstalled="False" dialog_show_required="False" cab_dialog_message="%s" cab_cancelled_message="" cab_dialog_caption="" cab_path="#TEMPPATH\#GUID" cab_path_autodelete="False" dialog_default_button="cancel" dialog_position="" dialog_components_list_position="" dialog_message_position="" dialog_bitmap_position="" dialog_otherinfo_link_position="" dialog_osinfo_position="" dialog_install_button_position="" dialog_cancel_button_position="" dialog_skip_button_position="" auto_start="True" auto_continue_on_reboot="False" reboot_cmd="" show_progress_dialog="False" show_cab_dialog="False" disable_wow64_fs_redirection="False" administrator_required="False" administrator_required_message="[Citrix] [XenCenter] installation requires administration rights." type="install" lcid_filter="" language_id="" language="" os_filter="" os_filter_min="" os_filter_max="" processor_architecture_filter="" supports_install="True" supports_uninstall="True">
|
|
||||||
<!-- ja-jp -->
|
|
||||||
<component command=""#CABPATH\NDP46-KB3045560-Web.exe" /norestart" command_silent=""#CABPATH\NDP46-KB3045560-Web.exe" /passive /norestart" command_basic=""#CABPATH\NDP46-KB3045560-Web.exe" /norestart" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.6" display_name="Microsoft .NET Framework 4.6" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="1041" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4.6 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.6 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
|
||||||
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Release" fieldvalue="393295" defaultvalue="False" fieldtype="REG_DWORD" comparison="version_ge" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="4.6 Installed Check" />
|
|
||||||
<embedfile sourcefilepath="NDP46-KB3045560-Web.exe" targetfilepath="" />
|
|
||||||
</component>
|
|
||||||
<!-- zh-cn -->
|
|
||||||
<component command=""#CABPATH\NDP46-KB3045560-Web.exe" /norestart" command_silent=""#CABPATH\NDP46-KB3045560-Web.exe" /passive /norestart" command_basic=""#CABPATH\NDP46-KB3045560-Web.exe" /norestart" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.6" display_name="Microsoft .NET Framework 4.6" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="2052" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4.6 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.6 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
|
||||||
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Release" fieldvalue="393295" defaultvalue="False" fieldtype="REG_DWORD" comparison="version_ge" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="4.6 Installed Check" />
|
|
||||||
<embedfile sourcefilepath="NDP46-KB3045560-Web.exe" targetfilepath="" />
|
|
||||||
</component>
|
|
||||||
<!-- zh-tw -->
|
|
||||||
<component command=""#CABPATH\NDP46-KB3045560-Web.exe" /norestart" command_silent=""#CABPATH\NDP46-KB3045560-Web.exe" /passive /norestart" command_basic=""#CABPATH\NDP46-KB3045560-Web.exe" /norestart" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.6" display_name="Microsoft .NET Framework 4.6" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="1028" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4.6 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.6 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
|
||||||
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Release" fieldvalue="393295" defaultvalue="False" fieldtype="REG_DWORD" comparison="version_ge" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="4.6 Installed Check" />
|
|
||||||
<embedfile sourcefilepath="NDP46-KB3045560-Web.exe" targetfilepath="" />
|
|
||||||
</component>
|
|
||||||
<!-- all others: en -->
|
|
||||||
<component command=""#CABPATH\NDP46-KB3045560-Web.exe" /norestart" command_silent=""#CABPATH\NDP46-KB3045560-Web.exe" /passive /norestart" command_basic=""#CABPATH\NDP46-KB3045560-Web.exe" /norestart" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" hide_window="False" disable_wow64_fs_redirection="False" execution_method="CreateProcess" id="Microsoft .NET Framework 4.5.2" display_name="Microsoft .NET Framework 4.6" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="!1041,!2052,!1028" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="There was an error downloading or installing prerequisite %s. 

Please make sure that the internet is available or install Microsoft .Net Framework 4.6 manually." allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.6 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
|
|
||||||
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Release" fieldvalue="393295" defaultvalue="False" fieldtype="REG_DWORD" comparison="version_ge" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="4.6 Installed Check" />
|
|
||||||
<embedfile sourcefilepath="NDP46-KB3045560-Web.exe" targetfilepath="" />
|
|
||||||
</component>
|
|
||||||
<!-- XenCenter msi -->
|
|
||||||
<component package="#CABPATH\[XenCenter].msi" cmdparameters=" " cmdparameters_silent="/passive" cmdparameters_basic=" " uninstall_package="" uninstall_cmdparameters="/qb-" uninstall_cmdparameters_silent="/qf" uninstall_cmdparameters_basic="/qb-" disable_wow64_fs_redirection="False" id="[XenCenter]" display_name="[Citrix] [XenCenter]" uninstall_display_name="" os_filter="" os_filter_min="" os_filter_max="" os_filter_lcid="" type="msi" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="True" selected_install="True" selected_uninstall="True" note="" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="True" show_progress_dialog="True" show_cab_dialog="True">
|
|
||||||
<embedfile sourcefilepath="[XenCenter].l10n.msi" targetfilepath="[XenCenter].msi" />
|
|
||||||
</component>
|
|
||||||
</configuration>
|
|
||||||
</configurations>
|
|
@ -29,5 +29,5 @@
|
|||||||
; SUCH DAMAGE.
|
; SUCH DAMAGE.
|
||||||
|
|
||||||
[AutoRun]
|
[AutoRun]
|
||||||
shellexecute=[XenCenter]Setup.exe
|
shellexecute=[XenCenter].msi
|
||||||
icon=[XenCenter].ico
|
icon=[XenCenter].ico
|
||||||
|
@ -125,20 +125,8 @@ cd ${WIX} && wscript WiSubStg.vbs ${BRANDING_BRAND_CONSOLE}.l10n.msi zh-tw.mst 1
|
|||||||
#sign again the combined msi because it seems the embedding breaks the signature
|
#sign again the combined msi because it seems the embedding breaks the signature
|
||||||
cd ${WIX} && chmod a+rw ${BRANDING_BRAND_CONSOLE}.l10n.msi && ${REPO}/sign.bat ${BRANDING_BRAND_CONSOLE}.l10n.msi
|
cd ${WIX} && chmod a+rw ${BRANDING_BRAND_CONSOLE}.l10n.msi && ${REPO}/sign.bat ${BRANDING_BRAND_CONSOLE}.l10n.msi
|
||||||
|
|
||||||
#create bundle exe installers - msi installers embedded
|
#copy the msi installers
|
||||||
cp ${WIX}/out${BRANDING_BRAND_CONSOLE}/${BRANDING_BRAND_CONSOLE}.msi ${DOTNETINST}
|
cp ${WIX}/out${BRANDING_BRAND_CONSOLE}/${BRANDING_BRAND_CONSOLE}.msi ${OUTPUT_DIR}
|
||||||
cp ${WIX}/${BRANDING_BRAND_CONSOLE}.l10n.msi ${DOTNETINST}
|
cp ${WIX}/${BRANDING_BRAND_CONSOLE}.l10n.msi ${OUTPUT_DIR}
|
||||||
|
|
||||||
cd ${DOTNETINST} && ./InstallerLinker.exe "/Output:${BRANDING_BRAND_CONSOLE}Setup.exe" "/Template:dotNetInstaller.exe" "/Configuration:XenCenterSetupBootstrapper.xml" "/e+" "/v+"
|
|
||||||
cd ${DOTNETINST} && ./InstallerLinker.exe "/Output:${BRANDING_BRAND_CONSOLE}Setup.l10n.exe" "/Template:dotNetInstaller.exe" "/Configuration:XenCenterSetupBootstrapper_l10n.xml" "/e+" "/v+"
|
|
||||||
|
|
||||||
sign_files()
|
|
||||||
{
|
|
||||||
for file in $1
|
|
||||||
do
|
|
||||||
chmod a+rw ${file} && ${REPO}/sign.bat ${file}
|
|
||||||
done
|
|
||||||
}
|
|
||||||
sign_files "${BRANDING_BRAND_CONSOLE}Setup.exe ${BRANDING_BRAND_CONSOLE}Setup.l10n.exe"
|
|
||||||
|
|
||||||
set +u
|
set +u
|
||||||
|
@ -36,7 +36,6 @@ ROOT="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"
|
|||||||
REPO="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
|
REPO="$( cd -P "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
|
||||||
|
|
||||||
OUTPUT_DIR=${ROOT}/output
|
OUTPUT_DIR=${ROOT}/output
|
||||||
DOTNETINST=${REPO}/dotNetInstaller
|
|
||||||
|
|
||||||
BRANDING_BRAND_CONSOLE=[XenCenter]
|
BRANDING_BRAND_CONSOLE=[XenCenter]
|
||||||
BRANDING_COMPANY_NAME_SHORT=[Citrix]
|
BRANDING_COMPANY_NAME_SHORT=[Citrix]
|
||||||
@ -53,6 +52,8 @@ mkdir_clean()
|
|||||||
rm -rf $1 && mkdir -p $1
|
rm -rf $1 && mkdir -p $1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mkdir_clean ${OUTPUT_DIR}
|
||||||
|
|
||||||
#overwrite sign file
|
#overwrite sign file
|
||||||
SIGN_FILE=${ROOT}/sign.bat
|
SIGN_FILE=${ROOT}/sign.bat
|
||||||
if [ -f ${SIGN_FILE} ]; then
|
if [ -f ${SIGN_FILE} ]; then
|
||||||
@ -63,10 +64,6 @@ fi
|
|||||||
echo "INFO: Build and sign the installers..."
|
echo "INFO: Build and sign the installers..."
|
||||||
. ${REPO}/mk/build-installers.sh
|
. ${REPO}/mk/build-installers.sh
|
||||||
|
|
||||||
#collect output and extra files to the OUTPUT_DIR
|
|
||||||
cp ${DOTNETINST}/${BRANDING_BRAND_CONSOLE}Setup.exe ${OUTPUT_DIR}
|
|
||||||
cp ${DOTNETINST}/${BRANDING_BRAND_CONSOLE}Setup.l10n.exe ${OUTPUT_DIR}
|
|
||||||
|
|
||||||
echo "INFO: Build phase succeeded at "
|
echo "INFO: Build phase succeeded at "
|
||||||
date
|
date
|
||||||
|
|
||||||
|
@ -162,10 +162,6 @@ rebranding_global ${REPO}/XenOvfApi/app.config
|
|||||||
RESX_rebranding ${REPO}/XenOvfTransport/Messages
|
RESX_rebranding ${REPO}/XenOvfTransport/Messages
|
||||||
rebranding_global ${REPO}/XenOvfTransport/app.config
|
rebranding_global ${REPO}/XenOvfTransport/app.config
|
||||||
|
|
||||||
#dotNetInstaller
|
|
||||||
rebranding_global ${REPO}/dotNetInstaller/XenCenterSetupBootstrapper.xml
|
|
||||||
rebranding_global ${REPO}/dotNetInstaller/XenCenterSetupBootstrapper_l10n.xml
|
|
||||||
|
|
||||||
#mk
|
#mk
|
||||||
rebranding_global ${REPO}/mk/ISO_files/AUTORUN.INF
|
rebranding_global ${REPO}/mk/ISO_files/AUTORUN.INF
|
||||||
rebranding_global ${REPO}/mk/package-and-sign.sh
|
rebranding_global ${REPO}/mk/package-and-sign.sh
|
||||||
|
@ -120,13 +120,6 @@ version_installer()
|
|||||||
version_installer ${WIX}/XenCenter.wxs
|
version_installer ${WIX}/XenCenter.wxs
|
||||||
version_installer ${WIX}/XenCenter.l10n.wxs
|
version_installer ${WIX}/XenCenter.l10n.wxs
|
||||||
|
|
||||||
#copy dotNetInstaller files
|
|
||||||
DOTNETINST=${REPO}/dotNetInstaller
|
|
||||||
cd ${DOTNETINST}
|
|
||||||
DOTNETINSTALLER_FILEPATH="$(which dotNetInstaller.exe)"
|
|
||||||
DOTNETINSTALLER_DIRPATH=${DOTNETINSTALLER_FILEPATH%/*}
|
|
||||||
cp -R "${DOTNETINSTALLER_DIRPATH}"/* ${DOTNETINST}
|
|
||||||
|
|
||||||
echo "INFO: Collecting unsigned files..."
|
echo "INFO: Collecting unsigned files..."
|
||||||
mkdir_clean ${OUTPUT_DIR}/XenAdminUnsigned
|
mkdir_clean ${OUTPUT_DIR}/XenAdminUnsigned
|
||||||
cp -R ${REPO}/* ${OUTPUT_DIR}/XenAdminUnsigned
|
cp -R ${REPO}/* ${OUTPUT_DIR}/XenAdminUnsigned
|
||||||
@ -156,22 +149,20 @@ cp ${REPO}/XenAdmin/bin/Release/{CommandLib.pdb,${BRANDING_BRAND_CONSOLE}.pdb,Xe
|
|||||||
|
|
||||||
ISO_DIR=${SCRATCH_DIR}/iso-staging
|
ISO_DIR=${SCRATCH_DIR}/iso-staging
|
||||||
mkdir_clean ${ISO_DIR}
|
mkdir_clean ${ISO_DIR}
|
||||||
install -m 755 ${DOTNETINST}/${BRANDING_BRAND_CONSOLE}Setup.exe ${ISO_DIR}/${BRANDING_BRAND_CONSOLE}Setup.exe
|
install -m 755 ${OUTPUT_DIR}/${BRANDING_BRAND_CONSOLE}.msi ${ISO_DIR}/${BRANDING_BRAND_CONSOLE}.msi
|
||||||
cp ${REPO}/mk/ISO_files/AUTORUN.INF ${ISO_DIR}
|
cp ${REPO}/mk/ISO_files/AUTORUN.INF ${ISO_DIR}
|
||||||
cp ${REPO}/Branding/Images/AppIcon.ico ${ISO_DIR}/${BRANDING_BRAND_CONSOLE}.ico
|
cp ${REPO}/Branding/Images/AppIcon.ico ${ISO_DIR}/${BRANDING_BRAND_CONSOLE}.ico
|
||||||
#CP-18097
|
#CP-18097
|
||||||
tar cjf ${OUTPUT_DIR}/${BRANDING_BRAND_CONSOLE}.installer.tar.bz2 -C ${ISO_DIR} .
|
tar cjf ${OUTPUT_DIR}/${BRANDING_BRAND_CONSOLE}.installer.tar.bz2 -C ${ISO_DIR} .
|
||||||
install -m 755 ${DOTNETINST}/${BRANDING_BRAND_CONSOLE}Setup.exe ${OUTPUT_DIR}/${BRANDING_BRAND_CONSOLE}Setup.exe
|
|
||||||
|
|
||||||
L10N_ISO_DIR=${SCRATCH_DIR}/l10n-iso-staging
|
L10N_ISO_DIR=${SCRATCH_DIR}/l10n-iso-staging
|
||||||
mkdir_clean ${L10N_ISO_DIR}
|
mkdir_clean ${L10N_ISO_DIR}
|
||||||
# -o root -g root
|
# -o root -g root
|
||||||
install -m 755 ${DOTNETINST}/${BRANDING_BRAND_CONSOLE}Setup.l10n.exe ${L10N_ISO_DIR}/${BRANDING_BRAND_CONSOLE}Setup.exe
|
install -m 755 ${OUTPUT_DIR}/${BRANDING_BRAND_CONSOLE}.l10n.msi ${L10N_ISO_DIR}/${BRANDING_BRAND_CONSOLE}.msi
|
||||||
cp ${REPO}/mk/ISO_files/AUTORUN.INF ${L10N_ISO_DIR}
|
cp ${REPO}/mk/ISO_files/AUTORUN.INF ${L10N_ISO_DIR}
|
||||||
cp ${REPO}/Branding/Images/AppIcon.ico ${L10N_ISO_DIR}/${BRANDING_BRAND_CONSOLE}.ico
|
cp ${REPO}/Branding/Images/AppIcon.ico ${L10N_ISO_DIR}/${BRANDING_BRAND_CONSOLE}.ico
|
||||||
#CP-18097
|
#CP-18097
|
||||||
tar cjf ${OUTPUT_DIR}/${BRANDING_BRAND_CONSOLE}.installer.l10n.tar.bz2 -C ${L10N_ISO_DIR} .
|
tar cjf ${OUTPUT_DIR}/${BRANDING_BRAND_CONSOLE}.installer.l10n.tar.bz2 -C ${L10N_ISO_DIR} .
|
||||||
install -m 755 ${DOTNETINST}/${BRANDING_BRAND_CONSOLE}Setup.l10n.exe ${OUTPUT_DIR}/${BRANDING_BRAND_CONSOLE}Setup.l10n.exe
|
|
||||||
|
|
||||||
#now package the pdbs
|
#now package the pdbs
|
||||||
cd ${OUTPUT_DIR} && tar cjf XenCenter.Symbols.tar.bz2 --remove-files *.pdb
|
cd ${OUTPUT_DIR} && tar cjf XenCenter.Symbols.tar.bz2 --remove-files *.pdb
|
||||||
|
Loading…
Reference in New Issue
Block a user