Namespace issue in ProfileCatalog.xml

Topics: CAB & Smart Client Software Factory
Sep 6, 2006 at 9:09 AM
originally posted by: jph88keys

I've created a simple solution with one module, and when executing, I get the following inner exception in FileCatalogModuleEnumerator.cs.

"<SolutionProfile xmlns='http://schemas.microsoft.com/pag/cab-profile/2.0'> was not expected."

When the recipe creates ProfileCatalog.xml, it uses the above namespace. In all of the reference implementation, however, it uses the following: http://schemas.microsoft.com/pag/cab-profile. In the code of SolutionProfileReader.cs (of CAB), the schema added to the XmlReaderSettings object is that namespace, not the 2.0 one.

How can I resolve this issue??
Sep 8, 2006 at 8:07 AM
originally posted by: convergenceii

My project, which has modules created by the automation, uses the 2.0 version, and I have not had any problems. There are a lot of inconsistencies with the reference implementations, probably because they were done as the framework was being created.

I would try creating a new SCSF project, and make sure it runs (to test your installation). Then, either add a new module using the automation, or try adding your module and see if it still runs.
Sep 8, 2006 at 9:49 AM
originally posted by: marianoszklanny

Hi,
Have you created the solution with the Smart Client application template of the SC-SF? In the solution created when unfolding this template, the FileCatalogModuleEnumerator service is removed when the application starts and replaced by a custom module enumerator, the XmlStreamDependentModuleEnumerator (see SmartClientApplication.cs in Infrastructure.Library). This module enumerator is ready to work with the 2.0 schema.

I suggest you to create the solution with the Smart Client template so that your application uses the XmlStreamDependentModuleEnumerator. This way you will be able to use the 2.0 schema. If you don't want to do this, you will have to add the XmlStreamDependentModuleEnumerator service manually.

Mariano,
http://staff.southworks.net/mariano