BizTalk assembly gets 'wrong' option when added to resource collection from a BizTalk application - Microsoft.Sdc.Tasks.BizTalk2006.Assembly.Deploy


When you using the task: Microsoft.Sdc.Tasks.BizTalk2006.Assembly.Deploy for a specific assembly.
The BizTalk dll has in the recourse collection only: GacOnAdd enabled.
This causes when installing the exported MSI on a different environment the specific BizTalk assembly is not added to the GAC. Especially on multi BizTalk server environment (When only installing the MSI itself.) The assembly isn't added to the GAC.
If you look at the code:
              application.UILevel = 2;
                Dictionary<string, object> properties = new Dictionary<string, object>();
                properties.Add("GacOnAdd", base.InstallInGac);
                base.Log.LogMessage(string.Format(CultureInfo.InvariantCulture, "Adding Assembly: {0} to Application: {1}", new object[] { base.AssemblyPath, this.Application }), new object[0]);
                application.ResourceCollection.Add(resourceType, base.AssemblyPath, null, properties, this.Overwrite);
it should be extended with:
properties.Add("GacOnInstall", base.InstallInGac);
properties.Add("GacOnImport", base.InstallInGac);
Perhaps the base.InstallInGac may also be just true.
Closed Aug 26, 2010 at 9:46 PM by mikeFourie
This library is no longer under active development / support. Please see the home page for details.