XCP-ng Center, the Windows management console for XCP-ng and XenServer. /!\ EOL-Notice /!\ Community-maintained only /!\
Go to file
Danilo Del Busso 15fcc02124
CA-376480: Prevent two instances from starting after running installer
When an instance of XenCenter is already running, the installer shows the `MsiRMFilesInUse` fragment. Pressing OK within that fragment with the `WixUIRMOption` property set to `UseRM` means that the `RMShutdownAndRestart` event kicks in at the end of the installation.

This happens at the same time as the existing "Launch XenCenter" event (if the matching checkbox is checked), causing in the executable being started twice at about the same time. My guess is that the pipe system is not initialised at that point, and that's how we get two applications.

To avoid this, this commit adds a new custom property: `XS_WixUIRMPressedOk`. This is set to `1` when the user clicks OK on the `WixUIRMOption`. It allows us to know whether or not that dialog was shown at all, as checking `WixUIRMOption` is not possible (it's already set to `UseRM` by default). By checking the value of this property we prevent the "Launch XenCenter" option to be shown if `MsiRMFilesInUse` was shown to the user (and they clicked OK). This applies both in case of a repair and an upgrade from a previous version.

Signed-off-by: Danilo Del Busso <danilo.delbusso@cloud.com>
2023-04-21 11:44:42 +01:00
.github Update CODEOWNERS and MAINTAINERS 2023-03-06 14:44:17 +00:00
Branding Removed integrated storage link code. The feature was removed long ago. 2023-03-30 16:38:56 +01:00
CFUValidator CP-40842: Remove CIS upload from Server Status Report wizard (#3087) 2023-02-13 13:47:21 +00:00
CommandLib Updated copyright notice on files. 2023-01-30 16:24:16 +00:00
packages CP-40748: Upgrade log4net to 2.0.15 2022-10-04 11:00:12 +01:00
scripts Bumped branding to v4.15. Removed leftover references of branded components. 2023-03-30 10:22:12 +01:00
WixInstaller CA-376480: Prevent two instances from starting after running installer 2023-04-21 11:44:42 +01:00
xe Updated copyright notice on files. 2023-01-30 16:24:16 +00:00
XenAdmin XSI-1419: Fixed regression whereby the application could not be used in multi-user mode 2023-04-13 21:11:58 +01:00
XenAdminTests CP-40407: Removed fakeAPI and usage of XmlRpcProxy classes in the application. 2023-03-31 14:17:55 +01:00
XenCenterLib Fixed some code inefficiencies: 2023-03-22 15:48:43 +00:00
XenModel Merge pull request #3124 from danilo-delbusso/dev/internal-stage-token 2023-04-13 21:11:37 +01:00
XenOvfApi CP-40842: Remove CIS upload from Server Status Report wizard (#3087) 2023-02-13 13:47:21 +00:00
xva_verify Updated copyright notice on files. 2023-01-30 16:24:16 +00:00
.gitattributes Ignore line endings for all files (except shell scripts). 2016-07-05 08:14:47 +01:00
.gitignore Restored branding.sh for local build. 2021-02-17 14:45:36 +00:00
AddManifest.targets Created re-usable project target to add manifest to an assembly. Be specific about the mt executable to use. 2021-02-16 10:07:46 +00:00
ChangeLog CP-4807: Updated ChangeLog with version number; updated Readme file 2013-06-25 09:45:11 +01:00
CommonAssemblyInfo.cs Updated copyright notice on files. 2023-01-30 16:24:16 +00:00
CONTRIB CP-7089: Switched to github workflow, hence updated CONTRIB, MAINTAINERS and README files. 2014-01-13 15:29:25 +00:00
CREDITS.md Removed obsolete code/hidden functionality and related outdated sample xapi databases. 2023-03-21 15:51:59 +00:00
Jenkinsfile Bumped branding to v4.15. Removed leftover references of branded components. 2023-03-30 10:22:12 +01:00
LICENSE Updated copyright notice on files. 2023-01-30 16:24:16 +00:00
MAINTAINERS Update CODEOWNERS and MAINTAINERS 2023-03-06 14:44:17 +00:00
README.md Removed dependency on IonicZip. Use the corresponding classes of .NET Framework. 2022-11-18 16:53:30 +00:00
XenAdmin.sln Corrections as per code review: 2023-02-21 16:05:10 +00:00

XenCenter

Checks Lines of Code

This repository contains the source code for XenCenter.

XenCenter is a Windows-based management tool for Citrix Hypervisor environments, which enables users to manage and monitor server and resource pools, and to deploy, monitor, manage, and migrate virtual machines.

XenCenter is written mostly in C#.

Contributions

The preferable way to contribute patches is to fork the repository on Github and then submit a pull request. If for some reason you can't use Github to submit a pull request, then you may send your patch for review to the xs-devel@lists.xenserver.org mailing list, with a link to a public git repository for review. Please see the CONTRIB file for some general guidelines on submitting changes.

License

This code is licensed under the BSD 2-Clause license. Please see the LICENSE file for more information.

How to build XenCenter

To build XenCenter, you need

  • the source from xenadmin repository
  • Visual Studio 2019
  • .NET Framework 4.8

and also some libraries which we do not store in the source tree:

  • CookComputing.XmlRpcV2.dll
  • Newtonsoft.Json.dll
  • DiscUtils.dll
  • ICSharpCode.SharpZipLib.dll
  • log4net.dll

You can find the source code of these libraries (along with some patches) in dotnet-packages repository.

To run the NUnit tests you will need the following libraries:

  • nunit.framework.dll
  • Moq.dll

which can be obtained from http://www.nuget.org/.