Problem description: cannot use Volume Shadow Copy Service on 64bit OSes (Vista x64 & Windows 7 x64) from 32-bit process.
Test 32-bit program was build using Windows7 SDK. Here it’s logs:
// on Vista x64:
CoInitialize(NULL) OK
CreateVssBackupComponents() OK
InitializeForBackup() failed, 0x8000FFFF // E_UNEXPECTED
// on Windows7 x64:
CoInitialize(NULL) OK
CreateVssBackupComponents() OK
InitializeForBackup() failed, 0x80042302 // VSS_E_UNEXPECTED
The same program, built with Windows7 SDK for 64-bit, works fine both on Vista and Windows 7 x64.
After test program failed, there were some error messages in the Applications log (Event Viewer/windows logs/Application):
EventID 8193 // on Windows7 & Vista
«Volume Shadow Copy Service error: Unexpected error calling routine CoCreateInstance. hr = 0x80040154, Class not registered . Operation: Instantiating VSS server»
EventID 22 // on Windows 7
«Volume Shadow Copy Service error: A critical component required by the Volume Shadow Copy service is not registered. This might happened if an error occurred during Windows setup or during installation of a Shadow Copy provider. The error returned from CoCreateInstance on class with CLSID {e579ab5f-1cc4-44b4-bed9-de0991ff0623} and Name IVssCoordinatorEx2 is [0x80040154, Class not registered ]. Operation: Instantiating VSS server»
EventID 32 // on Vista x64
Volume Shadow Copy Service error: The VSS Coordinator class is not registered. This may be caused due to a setup failure or as a result of an application's installer or uninstaller. Operation: Instantiating VSS server
The question: is it possible to use VSS from 32-bit process on 64-bit OS? How can we do that?