none
How do I register .net framework assemblies after adding them to the GAC on windows server 2008 r2 RRS feed

  • Question

  • I have at aspx .net website with vb as the code behind that I am using to present a button that when operated runs a SSIS dstx package on a windows 2008 r2 server with MS SQL Server 2008.

    Originally the operation of the button threw exceptions indicating that the application could not find two assemblies on the 2008 r2 server ...Microsoft.SqlServer.ManagedDTS and Microsoft.SqlServer.DTSRuntimeWrap ...even though I had added references to them in the project VS 2012 .  On the server I noticed that Microsoft.SqlServer.ManagedDTS and Microsoft.SqlServer.DTSRuntimeWrap  were missing from the GAC on the windows 2008 r2 server.

    I copied the Microsoft.SqlServer.DTSRuntimeWrap into GAC_32 and  Microsoft.SqlServer.ManagedDTS into GAC_MSIL but the application is still raising an exception indicating that I need to register the asseblies (classes?)...

    COMException (0x80040154): Retrieving the COM class factory for component with CLSID {4555B0A5-E8D7-49BD-B299-3140C34D3769} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).]
       Microsoft.SqlServer.Dts.Runtime.Package..ctor() +86

    [DtsComException: An Integration Services class cannot be found. Make sure that Integration Services is correctly installed on the computer that is running the application. Also, make sure that the 64-bit version of Integration Services is installed if you are running a 64-bit application.  ]
       Microsoft.SqlServer.Dts.Runtime.Package..ctor() +225
       runvbTestpackage.operaterunpackage(Object sender, EventArgs e) +24
       System.Web.UI.WebControls.Button.OnClick(EventArgs e) +118
       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +112
       System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
       System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
       System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
       System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563

    How do I register the assemblies so they are usable on the 2008 r2 server? 

    If I run the .net site in debug on the development client after changing the location path to the ssis package so it uses the mapped drive on the client that points to the package location the button can be operated successfully running the ssis package.

    Thanks in advance for any help...If I'm missing something fundimental please excuse I am a bit new at this yet...Roscoe

    Friday, May 23, 2014 7:08 PM

Answers

  • You can try setting the 'Embed Types' property of the referenced libraries which contain COM objects that you're using to true. You might also consider using regsvr32.exe on your output assembly, specifying its GAC location (which should not be GAC_32 unless it's explicitly compiled for x86 only or referencing libraries that are 32-bit only).

    Regsvr32

    http://msdn.microsoft.com/en-us/library/ms859484.aspx


    "There's a way to do it better - find it." - Thomas Edison

    Sunday, July 13, 2014 1:11 PM

All replies

  • Hi Rpfinn,

    Open your project on dev machine, click Reference to choose the two references. Right click on them and select Properties. On Property grid, change CopyLocal property to True. Publish your project to Server and try again. Please let me know the result.

    Regards,


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Monday, May 26, 2014 2:09 AM
    Moderator
  • Hi Herro wong, thanks for the help,

    When I open the reference manager for the project and rmb on the reference I want to add there is no Property selection...the only options are Clear Recent References and Remove From Recent References .  Is there another way to change the CopyLocal property?  I'm running VS 2012 premium.

    Thanks tonnes for help, Roscoe

    Monday, May 26, 2014 4:01 PM
  • Hi Rpfinn,

    Please let me see your picture.

    Regards,


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    Tuesday, May 27, 2014 5:51 AM
    Moderator
  • You can try setting the 'Embed Types' property of the referenced libraries which contain COM objects that you're using to true. You might also consider using regsvr32.exe on your output assembly, specifying its GAC location (which should not be GAC_32 unless it's explicitly compiled for x86 only or referencing libraries that are 32-bit only).

    Regsvr32

    http://msdn.microsoft.com/en-us/library/ms859484.aspx


    "There's a way to do it better - find it." - Thomas Edison

    Sunday, July 13, 2014 1:11 PM