Error when selecting backup file to restore

Jason HannasJason Hannas Posts: 41 Bronze 3
edited January 27, 2011 2:19AM in SQL Virtual Restore 2
I downloaded and installed SQL Virtual Restore 2 last Friday afternoon. Everything installed without any issues, however I cannot get past step 2 on the wizard. Selecting a file to restore prompts me to enter my password (it is an encrypted SQB v.6 backup file), it accepts my password and then throws an error: Failed to find the service working directory. Check the 'InstallDir' registry key. Win 32 error:5


I haven't found anything useful on the forums regarding this error. As you can see, the registry key I believe is referenced in the error does exist and has the correct path.


The service is running--there are no issues.


Any ideas? I'd sure like to get this going so I can at least test a few restores prior to my evaluation expiring. Thanks!


  • Hi there,

    I think we need to get a log to discover what is going on:
    10) Start the SQL Virtual Restore Wizard.
    20) Click on the icon next to the text "SQL Virtual Restore Wizard" in the application's title bar, you should see a menu called "Minimum Log Levels : (No Logging)".
    30) From here you can change the logging level. Set it to Verbose.
    40) Recreate the error
    50) Once it has occurred, return to the application icon menu and select the Open Current Log File option.
    60) If you could then email the contents of this file to jonathan [dot] watts [at] red-gate [dot] com that would be great. We will take a look at the file and get back to you.

    BTW If your trial does expire, let us know and we can extend it for you.
    Jonathan Watts

    -Project Manager
    -Red Gate Software Ltd
  • Sure thing, Jonathan. Email with log file is on its way.
  • Any news on this issue? I'm having the exact same error message. I'm on a licensed version.

    Virtual Restore has been working fine for a few weeks, but it's failing now.

    Here's some Virtual Restore logging showing the crash: (will also ticket this at customer support to make sure it's being picked up :))

    20:59:25.195|Info |Logging |1 |Current Logging levels enabled: Verbose,Warning,Fatal,Debug,Information,Trace,Error
    20:59:25.476|Info |ngWrapper.LogManager|1 |#1:Loaded assembly System.Data, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089 from file:///C:/Windows/assembly/GAC_64/System.Data/ (NetFXspW7.050727-4900)
    20:59:35.228|Info |ngWrapper.LogManager|1 |#1:Loaded assembly Ninject.Core, Version=, Culture=neutral, PublicKeyToken=c7192dc5380945e7 from file:///C:/Program Files (x86)/Red Gate/HyperBac/gui/Ninject.Core.DLL/
    20:59:35.328|Debug |EngineInternalModule|1 |#1:Declaring binding for service PersistenceSettings
    20:59:35.337|Debug |EngineInternalModule|1 |#1:Declaring binding for service BackgroundErrorReporter
    20:59:35.339|Debug |EngineInternalModule|1 |#1:Declaring binding for service StoppableTracker
    20:59:35.365|Debug |ndardBindingSelector|1 |#1:Resolving binding for active request for BackgroundErrorReporter
    20:59:35.366|Debug |ndardBindingSelector|1 |#1:1 candidate binding available for service BackgroundErrorReporter
    20:59:35.369|Debug |ndardBindingSelector|1 |#1:One default binding and 0 conditional bindings match the current context
    20:59:35.369|Debug |ndardBindingSelector|1 |#1:No conditional bindings matched, falling back on default binding.
    20:59:35.377|Debug |ning.StandardPlanner|1 |#1:Activation plan for type BackgroundErrorReporter requested by default self-binding of BackgroundErrorReporter (via OrderedParameterProvider)
    20:59:35.377|Debug |ning.StandardPlanner|1 |#1:Type has not been analyzed, building activation plan
    20:59:35.404|Debug |ning.StandardPlanner|1 |#1:Activation plan for BackgroundErrorReporter built successfully
    20:59:35.448|Debug |king.StandardTracker|1 |#1:Starting to track instance resulting from active request for BackgroundErrorReporter
    using default self-binding of BackgroundErrorReporter (via OrderedParameterProvider)
    20:59:35.463|Info |ngWrapper.LogManager|4 |#4:Loaded assembly RedGate.Shared.SQL, Version=, Culture=neutral, PublicKeyToken=7f465a1c156d4d57 from file:///C:/Program Files (x86)/Red Gate/HyperBac/gui/RedGate.Shared.SQL.DLL/
    20:59:35.504|Info |ngWrapper.LogManager|4 |#4:Loaded assembly System.Transactions, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089 from file:///C:/Windows/assembly/GAC_64/System.Transactions/ (NetFXspW7.050727-4900)
    20:59:35.514|Info |ngWrapper.LogManager|4 |#4:Loaded assembly System.EnterpriseServices, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a from file:///C:/Windows/assembly/GAC_64/System.EnterpriseServices/ (NetFXspW7.050727-4900)
    20:59:35.555|Debug |SelectBackupPage |1 |ApplyContext - m_GetServerInformation: False
    20:59:35.555|Debug |SelectBackupPage |1 |ApplyContext - m_DataPath: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Data
    20:59:35.555|Debug |SelectBackupPage |1 |ApplyContext - m_Databases: System.Collections.Generic.List`1[RedGate.SQLVirtualRestore.Engine.VirtualRestoreWizard.DbObjectName]
    20:59:41.588|Error |Problem validating b|4 |System.Data.SqlClient.SqlException: Failed to find the service working directory. Check the 'InstallDir' registry key. Win32 error: 5
    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
    at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
    at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
    at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
    at RedGate.SQLVirtualRestore.Engine.ExtendedProc.#t.#z2.#YKW()
    at RedGate.SQLVirtualRestore.Engine.ExtendedProc.#TnW(String context, Action cmd)
    at RedGate.SQLVirtualRestore.Engine.ExtendedProc.#bag(String query)
    at RedGate.SQLVirtualRestore.Engine.ExtendedProc.Call(String argSpec, String[] args)
    at #kbW.#ssQ.DecryptHeader(SqlBackupHeader& header)
    at #kbW.#ssQ.GetHeaderInformation()
    at RedGate.SQLVirtualRestore.Engine.VirtualRestoreWizard.GenericSqlServerFileReader.ConstructInstance(Builder builder, String file)
  • For this particular issue, if you navigate to that registry key and edit permissions to allow your SQL Service Account full control on that key, you should be able to get past it and load the file.
  • This worked perfectly, many thanks :)
Sign In or Register to comment.