Where should the existing maps be customized?

Integration comes with out-of-box schema/maps so that user can customize them according to their own use. In integration/biztalk box if you have visual studio and biztalk SDK then you will be able to compile them very easily(provided you have updated path to a new strong key file). But in another machine where integration is not present, there you have to update paths to the assemblies which are under the bin folder of integration installation. Otherwise you will find numerous errors during compilations. Just updating the reference of functoid, crmschema and gpschema dll will not work. Functoid dll internally refers to quite a good number of dlls of integration. This was not the case in case of integration box as the dll(s) were already present in GAC. So I think better do it in integration box as it seems less cumbersome to me.

I have imported new schema from CRM; using schema exporter tool. When I am trying to open the xsd file, it's throwing error. What's the issue?

When schemas are exported using schema exporter tool; then the schema refers to Types.xsd and CoreTypes.xsd. These two xsd(s) will be available with the tool itself. Add these two xsd(s) and then try to open, The schema will get opened without any error.

Importance of types:

When you are customizing the existing schemas; ensure that you don't change the types of xsd(s). Example: I have exported account xsd. Out of box type is Micosoft.Mbsintegration.CRMSchemas.Account. If you change this and try to use it to compile maps then there may be some compilation errors in functoids. Try to preserve the type.

Have you ever experienced that after exporting the new schema the compilation is giving error: "<some> type is already defined...". Check the types.xsd and coretypes.xsd and ensure that there are no collisions of types.

Deployment of new map dll with same name: A tweak

If you go through integration user guide it's perscribed that you can't use the same dll once it's deployed. Example: I have created 3 maps for CRUD in abc.dll. I deployed 2 maps out of 3. Now I want to deploy the third one and the dll is already deployed!!

It's simple; stop biztalk services; delete the abc.dll from bin folder. Then deploy the third map. Done!!

Warning: I am assuming that the previous 2 maps have not been changed and of course this is not a prescribed way to do it.