Re: Biztalk 2004 deployment problem

From: John Plummer [MSFT] (jplummer_at_online.microsoft.com)
Date: 03/23/04

  • Next message: john: "Re: BTS 2004 support secure FTP?"
    Date: Tue, 23 Mar 2004 21:28:51 -0000
    
    

    This link is from the online help

    ms-help://BTS_2004/Deploying/htm/ebiz_depl_assemblies_ehph.htm

    Re-produced here also...

    All assemblies must be registered in the Configuration database and
    installed in the GAC before they can be a part of a running BizTalk
    application. You can install, or add, an assembly in the GAC at the time you
    deploy it as part of the deployment task, or at a later time as a separate
    step.

    Each computer contains a GAC which must contain the assemblies that are
    designated to be shared by one or more applications on that computer. For
    BizTalk Server to process messages during run time, you must install all
    assemblies included in an application in the GAC of the computer that hosts
    the application. If your application is isolated to one server, then you
    only need to deploy your assemblies to that server. However if multiple
    servers host the application, then the assemblies in that application must
    be installed in the GAC of each computer. For example, if you deploy
    Assembly_A to Server_1, and then enlist Assembly_A in a host on Server_2,
    Assembly_A must be installed in the GAC on Server_2. If it is not, Server_2
    will not be able to access Assembly_A during run time.

    If you have an assembly to deploy to a single server, then you can deploy
    the assembly to the Configuration database and install it in the GAC at the
    same time. For example, you can use the BizTalk Deployment Wizard to deploy
    the assembly and install it in the GAC by running the Deployment Wizard only
    once. On the other hand, if you have an assembly that must be deployed to
    several servers, you must perform at least one additional step. First, you
    install the assembly to the Configuration database and in the GAC on a
    single server. Next, you install the assembly in the GAC on each server that
    accesses it during run time.

    Inconsistent results can occur when you install assemblies in the GAC only
    on one computer that joins a BizTalk group. Install the assembly in the GAC
    on all computers that join the BizTalk group. To resolve this issue, you can
    create a new host instance for the orchestration. Run it only on the
    computer where you have installed the assembly in the GAC.

      Important The deployment tools included with BizTalk Server - the BizTalk
    Deployment Wizard and the BTSdeploy command line tool - only install
    assemblies created in BizTalk Server in the GAC. If you have an assembly
    that is not built from a BizTalk project, you can install this assembly by
    using gacutil (a utility provided by Visual Studio .NET 2003 that you can
    use to add or remove assemblies in the GAC).

      Important If non-BizTalk assemblies are missing from the GAC, an error
    message appears that names the assemblies you must install in the GAC.

    You can add assemblies in the GAC created with a BizTalk project using one
    of the following tools or methods:

      a.. Visual Studio .NET 2003. For instructions on using Visual Studio .NET
    2003 to add assemblies in the GAC, see Installing Assemblies in the GAC
    Using Visual Studio .NET 2003.
      b.. BizTalk Deployment Wizard. The Deployment Wizard uses the Force option
    when installing the assembly in the GAC. Therefore, any copy of the assembly
    already existing in the GAC is overwritten. This can cause problems if that
    particular assembly is referenced by an application currently running.
      In the Deployment Wizard, the option to install an assembly in the GAC at
    the same time it is deployed is turned on by default.

      For more information, see BizTalk Deployment Wizard.

      c.. BTSdeploy command line deployment tool. In the BTSdeploy command line
    deployment tool, the option to install an assembly in the GAC at the same
    time it is deployed is turned off by default. To turn this option on, add
    the parameter Install=True to the command line.
      For more information, see BTSdeploy Command Line Deployment Tool.

      d.. GAC utility. Visual Studio .NET 2003 provides the GAC utility,
    Gacutil.exe, to add or remove assemblies in the GAC. If you want to deploy
    assemblies that are not created with BizTalk Server, you can use the GAC
    utility.
      For more information about using the GAC tool, see "GAC Tool"
    (gacutil.exe) in the Visual Studio .NET 2003 Combined Collection.

      e.. BTSInstaller utility. BizTalk Server provides this BTSInstaller
    utility to create an MSI package that contains the assemblies that make up
    an application. You can set up your MSI to install files in the GAC.
      For information and steps on creating an MSI, see BTSInstaller for
    Assembly Deployment.

      f.. Application Center 2000. Microsoft® Application Center 2000 enables
    you to synchronize the GACs on the servers in an Application Center cluster.
    For more information, see "Using Application Center 2000" in the Visual
    Studio .NET 2003 Combined Collection.
      g.. Drag and drop. Using Windows Explorer, you can drag and drop the
    assembly file into the <Windows folder>\assembly.
      h.. Other methods. There are other tools and methods, including using
    Windows installer or tools created by third-party vendors, to install an
    assembly in the GAC.
      For more information about using other tools, see "Deployment
    Alternatives" in the Visual Studio .NET 2003 Combined Collection.

      Note BizTalk Server does not support the XCopy command to deploy an
    assembly because XCopy does not add assemblies in the GAC. Therefore, XCopy
    cannot enforce assembly versions, cultures and certification keys.

      Note Assemblies with the same version number cannot be in the same
    Configuration database at the same time. However, you can deploy the same
    version of an assembly to different Configuration databases.

      Important To ensure your application functions properly, check that the
    versions of assemblies used during run time are the same in the
    Configuration database as they are in the GAC. If you do not always install
    an assembly in the GAC when you deploy it, you might have different versions
    in the GAC and the Configuration database causing processing errors during
    run time.

      Note You can have multiple MessageBox databases associated with one
    Configuration database.

      Important For information about version numbering, see Assembly
    Versioning in the .NET Framework help available from Microsoft Visual Studio
    .NET 2003 or online at http://go.microsoft.com/fwlink/?LinkID=9677.

    -- 
    This posting is provided "AS IS" with no warranties, and confers no rights.
    Use of included script samples are subject to the terms specified at
    http://www.microsoft.com/info/cpyright.htm
    "Timothy J. Brown" <tbrown@airnet.com> wrote in message
    news:enAxnHREEHA.1228@TK2MSFTNGP11.phx.gbl...
    Is this a BizTalk requirement and if so, why do I not have to do this for my
    asp.net projects?
    TIA,
    Tim
    "John Plummer [MSFT]" <jplummer@online.microsoft.com> wrote in message
    news:405ee7be@news.microsoft.com...
    > You need to use the .NET utility called SN.EXE to generate your key and
    then
    > update the BizTalk Sevrer 2004 VS.NET project properties to reflect the
    > location of the keyfile
    >
    > ie
    > 1. Launch the VS.NET 2003 command prompt
    > 2. Change directory to your BizTalk project (optional)
    > 3. run sn.exe -k <filename.snk>
    > 4. Goto Project Properties (in VS.NET) and change the Assembly Key File
    Name
    > to poin to filemane.snk (created in 3 above)
    >
    > That should get you going
    >
    > -- 
    > This posting is provided "AS IS" with no warranties, and confers no
    rights.
    > Use of included script samples are subject to the terms specified at
    > http://www.microsoft.com/info/cpyright.htm
    >
    >
    > "Michel van Duijse" <anonymous@discussions.microsoft.com> wrote in message
    > news:111bf01c40ff0$143ac4e0$a301280a@phx.gbl...
    > Hi,
    >
    > i'm trying to deploy my first project.
    > I run [deploy] [deploy solution] from the visual studio,
    > and then i get this error:
    >
    > [Microsoft.BizTalk.Deployment.DeploymentException] Unable
    > to install the "D:\My Documents\Visual Studio
    > Projects\myFirstBS\bin\Deployment\myFirstBS.dll" assembly
    > into the Global Assembly Cache.
    > Exception: A strongly-named assembly is required.
    >
    > [Microsoft.BizTalk.Gac.GacException] A strongly-named
    > assembly is required.
    > [System.Runtime.InteropServices.COMException] Exception
    > from HRESULT: 0x80131044.
    >
    > From this i understand that i have to 'strongly-name the
    > assembly'
    > But how must i do that?
    >
    > Michel.
    >
    >
    begin 666 important.gif
    M1TE&.#EA"@`*`)'_````_P``@,# P)F9F2'Y! $```(`+ `````*``H```(=
    ?E!6G"+D!1%-PB#$9L'A"$('9)P:6`4GFTYR/*Q0`.P``
    `
    end
    begin 666 note.gif
    M1TE&.#EA"@`*`+/_`(V,C?__S/_,`/\%!?]=7<# P-/3T\# P(6%A0("`@``
    M`````````````````````"'Y! $```4`+ `````*``H`0 0H$,AI#AD@Z)U*
    AR1HB)(8'<N,7&EJG;JV P4GZ&@D2(";<>HF@,.B)```[
    `
    end
    

  • Next message: john: "Re: BTS 2004 support secure FTP?"

    Relevant Pages

    • Re: Windows Service Install Project
      ... that starts Services that have references to assemblies in the GAC. ... Visual Studio Setup project? ... break my system when I go to install. ...
      (microsoft.public.dotnet.framework.setup)
    • Re: .NET versioning
      ... >> If this isn't dll hell then it's awfully close. ... > xcopy deployment, which thus means avoid the GAC if possible. ... > 2) if required, and if you really have to, copy the files to the GAC. ... If you overwrite assemblies in the GAC ...
      (microsoft.public.dotnet.framework)
    • Re: Please explain why the GAC cannot be referenced
      ... A point I'll make here is that the GAC is really intended as a deployment ... So development tools generally don't refer to assemblies ... product install that developers typically don't want on the dev machine. ... reference assemblies from them that happen to be installed to the GAC. ...
      (microsoft.public.dotnet.framework)
    • RE: Install ADO Problem
      ... options to include references. ... one possible workaround is to specify that referenced GAC ... you may need your client to install the related PIA if ... Redistributable Primary Interop Assemblies is available ...
      (microsoft.public.dotnet.languages.vb)
    • Re: GAC hell
      ... The only way to get at the GAC is by calling into the unmanaged fusion API's. ... Beware that the GAC uses fully qualified assembly names to store assembly references, because you don't know whether an assembly resides in the GAC, you also don't have a FQAN, this may result in false positives! ... But we've gotten so far off topic here, we're nowhere near my original question anymore, which had to do with determining which referenced assemblies are in the GAC and which are not. ... So, please if you have a small but complete sample that uses the Microsoft.Vsa namespace to generate/compile/Run "VBScript" and "JScript" scripting code, feel free to post it here. ...
      (microsoft.public.dotnet.languages.csharp)