Skip to main content

CustomAction VM_InstallJRE returned actual error code 1624

vCenter Server 5.5 Update 2e contains fix of Storage Monitor Service. It's also a stable version since 5.5 Update 1. I got a problem when I upgraded my development vCenter Server last weekend. I'd like to share the solution since VMware doesn't document that problem. (Maybe I didn't find it. :-)) It's kind tricky.

vCenter Server 5.5 Update 2e包含SMS服务的bug修复,它也是当前比较稳定的版本。上周我在升级vCenter Server到这个版本时遇到了一个问题。此问题不是那么容易修复因为VMware的KB并没有提供解决方案,我在这里把我的方法共享出来。



The upgrading failed during SSO server stage. First time it ran around 10 minutes then failed at JRE installation, second time it failed in second. I found following events in installation logs:

CustomAction VM_InstallJRE returned actual error code 1624

Error 1722. There is a problem with this Windows Installer package. A program run as part of the setup did not finish as expected.


It indicates something happened when updating JRE. I searched the error code and found it related to MSI install source. Looks like vCenter Server had a bad installer source of JRE. To fix this problem you have to open register editor and go to HKEY_LOCAL_MACHINESOFTWAREClassesInstallerProducts, double-click Transforms key and remove the value.

This problem usually appears on Windows Server 2008 vCenter Server when you delete temp files on %temp% before upgrading. You will get other two or three failures on SSO components after fix this, just repeat the steps above.

Once all components upgraded, installer will again asks you choose current SSO installer executable file of vCenter Server. You must select installer file of installed SSO server currently. If you don't know the server, go to check vpxa.log to find vCenter Server version, then go to my.vmware.com to download proper ISO and extract the SSO installer.

[caption id="attachment_517" align="alignnone" width="300"]Location of SSO Server installation file Location of SSO Server installation file[/caption]

Chinese Version

 

Popular posts from this blog

Connect-NsxtServer shows "Unable to connect to the remote server"

When you run Connect-NsxtServer in the PowerCLI, it may show "Unable to connect to the remote server".  Because the error message is a little bit confusing with other login issues. It's not easy to troubleshoot. The actual reason is the NSX-T uses a self-signed certificate, and the PowerCLI cannot accept the certificate automatically. The fix is super easy. You need to set the PowerCLI to ignore the invalid certificate with the following command: Set-PowerCLIConfiguration -Scope User -InvalidCertificateAction:Ignore -Confirm:$false

Setup Terraform and Ansible for Windows provisionon CentOS

Provisioning Windows machines with Terraform is easy. Configuring Windows machines with Ansible is also not complex. However, it's a little bit challenging to combine them. The following steps are some ideas about handling a Windows machine from provisioning to post configuration without modifying the winrm configuration on the guest operating system. Install required repos for yum. yum -y install https://repo.ius.io/ius-release-el7.rpm yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm yum -y install epel-release yum -y install yum-utils yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo Install  Terraform . sudo yum -y install terraform Install  Ansible . sudo yum -y install ansible Install  Kerberos . yum -y install gcc python-devel krb5-devel krb5-libs krb5-workstation

How to List All Users in Terraform Cloud

Terraform has a rich API. However, the API documentation does not mention how to list all users. We can leverage the organization membership API and the PowerShell command  Invoke-RestMethod  to get a user list. 1. Create an organization token in Terraform Cloud. 2. Create the token variable ( $Token ) in PowerShell. $Token = "abcde" 3. Create the API parameters variable in PowerShell. $params = @{ Uri = "https://app.terraform.io/api/v2/organizations/ZHENGWU/organization-memberships?page%5Bsize%5D=100" Authentication = "Bearer" Token = $Token ContentType = "application/vnd.api+json" } Note: You need to replace ZHENGWU with your own organization name. And I used 100 at the end of the URI to retrieve the first 100 users. It can be any number.  4. Retrieve the API return and list the user's email address. $Test = Invoke-RestMethod @params $Test.data.attributes.email