New Project Wizard Error: can't find Sandcastle\Schemes\Authoring

Topics: Sandcastle
May 1, 2008 at 2:05 PM
Edited May 1, 2008 at 2:06 PM
Hi,

When I try to add a DocProject or DocSite to my WinForms project, I get the following error:

-----------------------------------------------------------------
New Project Wizard Error
An error occurred while running the New Project Wizard:
Could not find a part of the path 'C:\Program Files\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Tools\Sandcastle\Schemas\Authoring'.
Review the Application event log for more information.
-----------------------------------------------------------------


The Event Log has this information:

-----------------------------------------------------------------
Event Type: Error
Event Source: DocProject
Event Category: None
Event ID: 0
Date: 05/01/2008
Time: 9:46:23 AM
User: N/A
Computer: xxxxxxxxxxxxxxxxxx
Description:
An error occurred while running the New Project Wizard:

System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Program Files\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Tools\Sandcastle\Schemas\Authoring'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
at DaveSexton.DocProject.Sandcastle.Configuration.Presentation.ImportFiles(IDocProject project, String sourcePath, String targetPath, String searchPattern, Boolean recursive)
at DaveSexton.DocProject.Sandcastle.Configuration.Presentation.Import(IDocProject project)
at DaveSexton.DocProject.Sandcastle.ChoosePresentationWizardStep.WizardFinished(WizardController controller)
at DaveSexton.DocProject.Wizards.Foundation.WizardStep.WizardFinishedInternal(WizardController controller)
at DaveSexton.DocProject.Wizards.Foundation.WizardController.<>c_DisplayClass9.<Finish>b_8(WizardStep step)
at DaveSexton.DocProject.Wizards.Foundation.WizardController.ForEachStep(Action`1 action)
at DaveSexton.DocProject.Wizards.Foundation.WizardController.Finish(Boolean canceled)
at DaveSexton.DocProject.Wizards.Foundation.WizardForm.finishButton_Click(Object sender, EventArgs e)

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
-----------------------------------------------------------------

In the C:\Program Files\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Tools\Sandcastle folder, I only have these subfolders:
Data
Examples
Presentation
ProductionTools
ProductionTransforms


I'm running:
Windows XP SP2, fully patched
Microsoft Visual Studio 2005 Professional Edition - ENU Service Pack 1 (KB926601)
Visual Studio 2005 SDK, Feb 2007 (included the installation of Innovasys Help Studio Lite)
Sandcastle Jan 2008 Release
DocProject 1.10.1
- all installed in that order

I have local admin rights.

I'm pretty sure the problem is just that I don't seem to have this folder:
C:\Program Files\Visual Studio 2005 SDK\2007.02\VisualStudioIntegration\Tools\Sandcastle\Schemas\Authoring
But I'm not sure what was supposed to install it. It's probably Sandcastle that had to install it, and I should probably be posting this message to the Sandcastle project, but I'm hoping that someone here might be able to confirm this? The error is kicked up by the DocProject Wizard, so I thought I'd post here first.

It doesn't matter if I choose Compiled Help 1.x or 2.x or leave compiled help out altogether. Still get this error.

Thanks for any help!
Coordinator
May 1, 2008 at 3:55 PM
Hi,

The problem is that the SDK created a DXROOT user environment variable that points to an older CTP version of Sandcastle, which is included with the SDK installer. The latest version of Sandcastle creates a DXROOT system environment variable, but since the user variable has precedence, DocProject is trying to find the schemas folder in a version of Sandcastle that doesn't have it.

You should manually remove the user DXROOT environment variable and make sure that the system DXROOT environment variable points to the latest version of Sandcastle on your system, which is probably C:\Program Files\Sandcastle.

See the Latest Release Notes if you need help removing the variable.

- Dave
May 1, 2008 at 6:22 PM
Hi Dave,

That did it! Funny - I read that part of the Release Notes, but for some reason didn't think that this was my problem. As soon as I saw the duplicate DXROOT, I smacked my forehead.

Thanks again!
Tim