Monday, June 16, 2014

VAppRegHandler.dll failed to register. HRESULT -2147024703.

I was troubleshooting a SCCM 2007 client installation problem at a client's place.  SCCM client was not able to install and the only error message I can find in the ccmsetup.log is : "MSI: Module C:\_ESD\CCM\VAppRegHandler.dll failed to register.  HRESULT -2147024703.  Contact your support personnel."  Installation failed with error code 1603.

I was like.. great.  1603 = Fatal error.  I've tried everything including rebuilding the WMI on the client, removing the client and re-installing it without any success.  Did a lot of research on VAppRegHandler.dll and followed a whole bunch of suggestions and at the end.. no success.

I practically stop for one week trying to troubleshooting this issue and came back with a refresh mind.  I looked at it from another angle and see if there is any visible errors in the event logs.  They could or could not be related.

I saw a lot of Event ID 7036 in system log.  "The Windows Modules Installer service terminated unexpectedly.  It has done this X time(s).  The following corrective action will be taken in 1200000 milliseconds.  Restart the service"

From application log, there were error Event ID 1000, 1005 :-

"Faulting application name: TrustedInstaller.exe, version: 6.1.7601.17514, time stamp: 0x4ce7989b
Faulting module name: wcp.dll, version: 6.1.7601.17514, time stamp: 0x4ce7c9f2
Exception code: 0xc0000096
Fault offset: 0x000000000015ea52
Faulting process id: 0x8710
Faulting application start time: 0x01cf4104f21f38e6
Faulting application path: C:\Windows\servicing\TrustedInstaller.exe
Faulting module path: C:\Windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7601.17514_none_678566b7ddea04a5\wcp.dll
Report Id: 95b5a08c-acf9-11e3-8d95-18a90556c1fc

As far as I can remember, I did the following..  
  • Ensure that the client is ready for software updates.  I download the "Software Update Readiness Tool" and ran it on the client.
  • Check the C:\Windows\Logs\CBS\CheckSUR.log
  • Found 2 errors complaining about the wcp.dll corrupted.  
  • Hmm... Isn't that related to the errors in the eventlog?
  • I replace the wcp.dll with the good copy from another system of the same kind..   
  • The wcp.dll was located in C:\Windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.1.7601.17514_none_678566b7ddea04a5\wcp.dll as mentioned in the event log.
  • You need to change the owner and permission on the file/folder in order to replace the file in the folder.
  • Replaced the wcp.dll, reboot the system
I kick off an installation of the SCCM client via client push.. and woah la!!!  SCCM client installed successfully on the system.

Hmm...   so much of a VAppRegHandler.dll error...

Monday, March 3, 2014

Internet-Based Client Managment - ConfigMgr 2012 (Part 1)

I am re-visiting internet-based client management in ConfigMgr 2012, ran into a few issues and I wish I could have documented these in the past so that I don't have to waste time resolving the same issues... DOH!  Anyway...

Here is my SCCM 2012 hierarchy:

- Single Primary Site (Internet and intranet in the same forest)
- 1 Internet facing site system.  (MP, DP and SUP)

I am not going to go into following Microsoft best practices for setting up SCCM 2012 internet base client management, you can view TechNet for this.  The stuff which I am going to include here are to have CofigMgr 2012 client working in the intranet and internet scenarios, switching between MPs (Internet and Intranet MPs), installing application, software updates from intranet and internet and able to browse Application Catalog Web Services (some limitation applies) etc.

References:
- Planning for Internet-Base client management
- PKI Certificate Requirement
- PKI Step by Step

May I suggest that before going into managing internet clients, make sure that your intranet is working properly first.  Ensure that you have the client installation properties set correctly and all the site components are working properly especially all the certificates requirement for MP, DP, IIS, clients etc.

The objective here is to have the ConfigMgr clients switch back and forth between the intranet and internet client depending on the where they are and the ability to download and install applications even if they are not on the corporate network (intranet)



Pay Attention:
  • Ensure that you have a valid internet address and a working internet DNS record. 
  • Ensure that the client push installation properties are set to include CCMHOSTNAME and SMSSITECODE. CCMHOSTNAME=<FQDN of the internet site system>
  • Install all the pre-requisites of the MP and the DP role and install the MP and the DP role on the internet facing site system. (including certificates).
  • Ensure that the MP and DP are installed and working correctly.
Internet Management Point and Distribution Point, Software Update Point etc.
  • In the Site System properties, specify the internet FQDN.  Ensure that the DNS name matches what you have specify in the ConfigMgr Web Server certificate DNS name.
  • In the Management Point properties, specify "HTTPS" and "Allow Internet -only connections"
  • In the Distribution Point properties, specify "HTTPS" and "Allow Internet-only connections", Import the DP Certificate and specify the password.
  • Note that every time you add/remove roles from a site system, the DP changed back to self signed certificate.  Could be a bug.
Application Catalog website point properties:
  • Select HTTPS and "Allow internet only connections"
  • Specify a different Organization name to distinguish between the internet and the intranet.  (for ease of visibility)
Log Files:
  • Check the clientlocation.log and locationservice.log file to see if the client changes to internet only clients when you are off the intranet network (vice versa)
  • When installing application from the internet, check the CAS.log to ensure that the contents can be downloaded.
Troubleshooting tips:
  • Ensure that the client is able to resolve the internet facing MP's site server name.
  • Ensure that port 443 is open and the IIS certificate is in place for SSL.
  • Ensure that the internet facing MP is able to talk to the database server