vshadow.exe 3.0 on windows vista x64

  • Thread starter Rami Abughazaleh
  • Start date
R

Rami Abughazaleh

Hello.

I'm using the Windows SDK for Windows Vista v6.1.6000.16384.

I compiled vshadow.exe v3.0 from here:
C:\Program Files\Microsoft SDKs\Windows\v6.0\Samples\WinBase\VSS\vshadow

using Visual Studio 2005 SP1 on Windows XP Professional x64 Edition
Version 2003 Service Pack 1

However, when I tried to run it on Vista x64 Ultimate Edition using a
command prompt elevated as Administrator, I get the following error:

C:\Users\Rami\Downloads>vshadow -q

VSHADOW.EXE 3.0 - Volume Shadow Copy sample client.
Copyright (C) 2005 Microsoft Corporation. All rights reserved.


(Option: Query all shadow copies)

ERROR: COM call "m_pVssObject->InitializeForBackup()" failed.
- Returned HRESULT = 0x8000ffff
- Error text: E_UNEXPECTED
- Please re-run VSHADOW.EXE with the /tracing option to get more details

running with the /tracing options produces the following:


VSHADOW.EXE 3.0 - Volume Shadow Copy sample client.
Copyright (C) 2005 Microsoft Corporation. All rights reserved.


(Option: Enable tracing)
[[ CommandLineParser::MatchArgument @ shadow.cpp: 765]] ENTER
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 767]] Matching
Arg: '-q' with 'wx'
[[ CommandLineParser::MatchArgument @ shadow.cpp: 765]] EXIT
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 765]] ENTER
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 767]] Matching
Arg: '-q' with 'wi'
[[ CommandLineParser::MatchArgument @ shadow.cpp: 765]] EXIT
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 748]] ENTER
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 750]] Matching
Arg: '-q' with 'wait'

[[ CommandLineParser::MatchArgument @ shadow.cpp: 754]] Return: FALSE

[[ CommandLineParser::MatchArgument @ shadow.cpp: 748]] EXIT
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 765]] ENTER
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 767]] Matching
Arg: '-q' with 'script'
[[ CommandLineParser::MatchArgument @ shadow.cpp: 765]] EXIT
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 765]] ENTER
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 767]] Matching
Arg: '-q' with 'exec'
[[ CommandLineParser::MatchArgument @ shadow.cpp: 765]] EXIT
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 748]] ENTER
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 750]] Matching
Arg: '-q' with 'tracing'

[[ CommandLineParser::MatchArgument @ shadow.cpp: 754]] Return: FALSE

[[ CommandLineParser::MatchArgument @ shadow.cpp: 748]] EXIT
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 748]] ENTER
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 750]] Matching
Arg: '-q' with '?'

[[ CommandLineParser::MatchArgument @ shadow.cpp: 754]] Return: FALSE

[[ CommandLineParser::MatchArgument @ shadow.cpp: 748]] EXIT
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 748]] ENTER
CommandLineParser::MatchArgument
[[ CommandLineParser::MatchArgument @ shadow.cpp: 750]] Matching
Arg: '-q' with 'q'

[[ CommandLineParser::MatchArgument @ shadow.cpp: 754]] Return: TRUE

[[ CommandLineParser::MatchArgument @ shadow.cpp: 748]] EXIT
CommandLineParser::MatchArgument
(Option: Query all shadow copies)
[[ CommandLineParser::MainRoutine @ shadow.cpp: 84]] OUTPUT:
(Option: Query all shadow copies)
[[ VssClient::Initialize @ vssclient.cpp: 45]] ENTER
VssClient::Initialize
[[ VssClient::Initialize @ vssclient.cpp: 48]]
Executing COM call '"CoInitialize(NULL)"'
[[ VssClient::Initialize @ vssclient.cpp: 63]]
Executing COM call '"CoInitializeSecurity( NULL, -1, NULL, NULL,
RPC_C_AUTHN_LEVEL_PKT_PRIVACY, RPC_C_IMP_LEVEL_IDENTIFY, NULL,
EOAC_NONE, NULL )"'
[[ VssClient::Initialize @ vssclient.cpp: 66]]
Executing COM call '"CreateVssBackupComponents(&m_pVssObject)"'
[[ VssClient::Initialize @ vssclient.cpp: 80]]
Executing COM call '"m_pVssObject->InitializeForBackup()"'

ERROR: COM call "m_pVssObject->InitializeForBackup()" failed.
[[ VssClient::Initialize @ vssclient.cpp: 45]] OUTPUT:
ERROR: COM call "m_pVssObject->InitializeForBackup()" failed.
- Returned HRESULT = 0x8000ffff
[[ VssClient::Initialize @ vssclient.cpp: 45]]
OUTPUT: - Returned HRESULT = 0x8000ffff
- Error text: E_UNEXPECTED
[[ VssClient::Initialize @ vssclient.cpp: 45]]
OUTPUT: - Error text: E_UNEXPECTED
- Please re-run VSHADOW.EXE with the /tracing option to get more details
[[ VssClient::Initialize @ vssclient.cpp: 45]]
OUTPUT: - Please re-run VSHADOW.EXE with the /tracing option to get more
details
[[ VssClient::Initialize @ vssclient.cpp: 45]] EXIT
VssClient::Initialize
[[ CommandLineParser::MainRoutine @ shadow.cpp: 84]] EXIT
CommandLineParser::MainRoutine
[[ wmain @ shadow.cpp: 66]] HRESULT
Error catched: 0x8000ffff
[[ CommandLineParser::~CommandLineParser @ shadow.cpp: 964]] ENTER
CommandLineParser::~CommandLineParser
[[ CommandLineParser::~CommandLineParser @ shadow.cpp: 964]] EXIT
CommandLineParser::~CommandLineParser
[[ wmain @ shadow.cpp: 31]] EXIT wmain


Running it on Vista 32-bit Ultimate Edition works fine.

The 64-bit OS is a clean install with the default installation options.

After vshadow fails, I see the following errors in the event viewer:

Source: VSS
Event ID: 32
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.

Source: VSS
Event ID: 8193
Volume Shadow Copy Service error: Unexpected error calling routine
CoCreateInstance. hr = 0x80040154.

As a test, I tried to create a backup of all files on the system and
ntbackup did not fail when creating a shadow copy.

Any help is appreciated.

Thank you,
-Rami
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top