CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 15 of 15

Thread: .net help!

  1. #1
    Join Date
    Apr 2010
    Posts
    8

    .net help!

    Hi There.
    Firstly, apologies if i posted this in the wrong section

    Im not a programmer but am really hoping some gurus can help me.

    our enterprise system we use is to manage real estate called - MRI
    we are currently on version 3 which runs on the web (ASP/.net2.0)
    this version only supports up to IE7 clients

    we would like to roll out windows 7 for our client pcs in our company, but have an issue:
    As you know, Windows 7 comes with IE8 ,
    the software version we are on currently ( MRI version 3) does not support IE 8.

    The Vendor states that they do have a hotfix for IE 8 compatilbilty , but the hotfix can only be applied from MRI Version 4 onwards.

    Upgrading our enterprise system to version 4 is not an option...(too many customisations,etc)

    i have looked at the vendors so called "hotfix" and the only thing they have done is to rewrite a DLL file (mripageutil.dll) which would overwrite the old one.



    this is what i have done in a test environment:
    1) remove all old occurrences including the interop assemblies for the old DLL(mipageutil.dll)- version 1

    regsvr32 MRIPageUtil.dll /u /s
    gacutil /u mripageutil.interop
    Regasm /u mripageutil.interop.dll

    2) stop IIS

    3) physically copy the new dll (mripageutil.dll) and overwrite the old dll (mripageutil.dll)

    4)register the new dll including interop assemblies (mripageutil.dll) - version 4
    regsvr32 MRIPageUtil.dll /s
    gacutil /i mripageutil.interop.dll
    Regasm mripageutil.interop.dll

    5) start IIS

    it does not work! - i get this error on the website -------------->>>>>

    In Catch ex As Exception =Retrieving the COM class factory for component with CLSID {91190C7D-6890-4BA8-B39D-A8ECB4264B95} failed due to the following error: 800a801d.



    looking in the registry , the CLSID {91190C7D-6890-4BA8-B39D-A8ECB4264B95} is referencing the old dll

    i used tlbimp to create an interop.dll based on the new dll from the hotfix, but then get other errors stating interop is not valid file,etc

    Can replacing a dll work or do i need source code,etc?
    could this maybe be because the old dll was probably built on older .NET2.0 and the newer dll was built in maybe .NET 3.5? the appication is configured for .NET 2.0 as stated above

  2. #2
    Join Date
    Nov 2002
    Location
    .NET 3.5 VS2008
    Posts
    1,039

    Re: .net help!

    Hi,

    There could be a number of reasons why things aren't working for you. I must commend you on your bold attempt to 'hack' it. Things don't work like that. Particularly if this is a line of business application. You can't really afford to take those risks. What I would recommend is re-verting to version 3 and see if you can run it in IE8 with Compatability View or running in Windows 7 XP Mode. Have you considered any of those options? Or even trying a different browser (e.g. Firefox).

  3. #3
    Join Date
    Apr 2010
    Posts
    8

    Re: .net help!

    Hi,

    this is all done in a testing environment , so, yes, i am well aware of the the risks.
    i have been asked by my superiors to look into this to see if it can work.

    yes, i do know things dont work like this as you so put it - hence my ask for help on this forum -
    but thanks for stating the obvious

    As stated in my post , we are on version 3 currently and the IE 8 compatilbilty was developed for version 4 which is what we are not doing.

    i may have forgot to mention that in our testng, we tried the suggestions
    - putting HTTP custom response headers on the whole website/ (IIS 6) ,
    -setting compatibility options on the clients brower for all websites
    - inserting the <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    META TAGS on the ASP pages - all those microsoft reccomendations did not work! -- refer to ---> http://support.microsoft.com/kb/968499/

    also, the application does not support other browsers such as firefox,etc

    the suggestion of running in XP mode defeats the purpose dont you think? - why roll out 800 client pcs - coming from Windows XP to Windows 7- only to then EMULATE XP. whats the logic in that?

    as for my bold attempt to hack- you make it sound like im doing something illegal-
    we are legal licensed users of this software - im not changing source code- im trying to achieve compatibily or do you think i am wrong?

  4. #4
    Join Date
    Nov 2002
    Location
    .NET 3.5 VS2008
    Posts
    1,039

    Re: .net help!

    Hi,

    As I thought you have already tried a number of options. That wasn't obvious from your original post. In the programming world a 'hack' is also used to refer to a solution that is less than option (or non-standard) but nevertheless does the job. It's a term used to describe a solution that works but would not be recommended which I think is apt to describe what you've done. I'm sorry if I gave the impression you were doing something wrong.... Out of curiosity what is the main driver for rolling out Windows 7? Presumably all the interested parties have a previous version of Windows which can run IE7 and your application. As an aside Windows XP was a very successful OS in my opinion and lot of people prefer it to something like Vista...

  5. #5
    Join Date
    Apr 2010
    Posts
    8

    Re: .net help!

    Hi Nelo,

    i couldnt agree with you more, WinXP is a pretty stable client OS,i personally follow the rule -
    if it aint broke, dont try and fix it /

    Unfortunately, the world has to go on as times are changing, they dont care what we like,
    the business wants to go the Windows 7 route, everything is being upgraded, even moving to Server 2008 and SQL 2008 all in 64 bit to leverage better processing and memory utilisation.

    Believe me , i have tried and told them that this is a stab in the dark as we are always at the mercy of the vendor as they write the app. replacing a dll is not as easy as re- registering the new one. There are unknown dependancies the old dll has reference to. i have tried everything i could.

    i guess as a last resort, my only reccomendation (which i read somewhere on the net ,can be done), is to build Windows 7 images/ uninstall IE 8/ and re- install IE7) - and yes , i know what you thinking - that would also just be stupid. - why install Windows 7 and not leverage IE8?

    PS: i really think the COM error code (800a801d) has something to do with VB? you think i should ask the VB guys on this site?

    urgently await your expert advice.

  6. #6
    Join Date
    Jul 2000
    Location
    Milano, Italy
    Posts
    7,726

    Re: .net help!

    I know nothing of MRI but can tell you this: if it is .Net based and it references the old dll, you should find its .config file where you should find references like in
    Code:
    <assemblies>
    				<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    				<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    				<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    				<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    			</assemblies>
    you then need to substitute the old with the new. To find out how to correctly insert info, you should build a small website, add a reference to the new dll and see what info are written in its web config.
    Note: if you do not find it in web config, it might be you have to look at machine config. All this hoping it is not a late boud loaded assembly, in which case you shoulkd find it inside sources.
    Last edited by Cimperiali; April 15th, 2010 at 11:09 PM.
    ...at present time, using mainly Net 4.0, Vs 2010



    Special thanks to Lothar "the Great" Haensler, Chris Eastwood , dr_Michael, ClearCode, Iouri and
    all the other wonderful people who made and make Codeguru a great place.
    Come back soon, you Gurus.

  7. #7
    Join Date
    Nov 2002
    Location
    .NET 3.5 VS2008
    Posts
    1,039

    Re: .net help!

    Hi there,

    You could ask the VB guys as many of them would be used to consuming COM components from VB and might be able to give you the right pointers. From my understanding that error code suggests that it was not able to create a COM object. That could be due to a number of reasons including failure to load dependent libraries. In your case given that you were able to register it suggests that it was able to resolve all dependancies...It is a notoriously difficult problem to resolve without having the development environment...

  8. #8
    Join Date
    Apr 2010
    Posts
    8

    Re: .net help!

    Hi Cimperiali,

    thanks for the advice, but , HUH? , sorry mate, i'm not a programmer, the only config i see in there are the web.config and theres no <assemblies> tags in there,

    but i did see these token keys etc in the registry when searching that CLSID

    heres the output of the reg if it will help


    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\CLSID\{91190C7D-6890-4BA8-B39D-A8ECB4264B95}]
    @="MriPageUtil.PageIo"

    [HKEY_CLASSES_ROOT\CLSID\{91190C7D-6890-4BA8-B39D-A8ECB4264B95}\Implemented Categories]

    [HKEY_CLASSES_ROOT\CLSID\{91190C7D-6890-4BA8-B39D-A8ECB4264B95}\Implemented Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}]

    [HKEY_CLASSES_ROOT\CLSID\{91190C7D-6890-4BA8-B39D-A8ECB4264B95}\InprocServer32]
    @="D:\\MRI Real Estate Solutions\\ServerComponents\\MRIPageUtil.dll"
    "ThreadingModel"="Apartment"
    "Class"="MriPageUtil.Interop.PageIoClass"
    "Assembly"="MriPageUtil.Interop, Version=4.0.0.0, Culture=neutral, PublicKeyToken=1e599c0d6c4d80d5"
    "RuntimeVersion"="v1.1.4322"

    [HKEY_CLASSES_ROOT\CLSID\{91190C7D-6890-4BA8-B39D-A8ECB4264B95}\InprocServer32\4.0.0.0]
    "Class"="MriPageUtil.Interop.PageIoClass"
    "Assembly"="MriPageUtil.Interop, Version=4.0.0.0, Culture=neutral, PublicKeyToken=1e599c0d6c4d80d5"
    "RuntimeVersion"="v1.1.4322"

    [HKEY_CLASSES_ROOT\CLSID\{91190C7D-6890-4BA8-B39D-A8ECB4264B95}\ProgID]
    @="MriPageUtil.PageIo"

    [HKEY_CLASSES_ROOT\CLSID\{91190C7D-6890-4BA8-B39D-A8ECB4264B95}\Programmable]

    [HKEY_CLASSES_ROOT\CLSID\{91190C7D-6890-4BA8-B39D-A8ECB4264B95}\TypeLib]
    @="{C4317CE7-659D-45FD-8864-C319FAE3F319}"

    [HKEY_CLASSES_ROOT\CLSID\{91190C7D-6890-4BA8-B39D-A8ECB4264B95}\VERSION]
    @="4.0"


  9. #9
    Join Date
    Apr 2010
    Posts
    8

    Re: .net help!

    Thanks Nelo,

    tell me, do you know if theres a way to generate new CLSID without source code?

    opened up guidgen.exe , but , what the heck! - lol!

  10. #10
    Join Date
    Nov 2002
    Location
    .NET 3.5 VS2008
    Posts
    1,039

    Re: .net help!

    Hi.

    The CLSID is a GUID and there are GUID generators on the web. But for it to be useful it would need to be embedded in the library (i.e. you would need the source code)...Why do you want to generate a new CLSID?

  11. #11
    Join Date
    Apr 2010
    Posts
    8

    Re: .net help!

    thanks, thought i could generate a new one and change it in the registry. cos the CLSID in registry seems to be pointing to the old interop.dll

  12. #12
    Join Date
    Jul 2000
    Location
    Milano, Italy
    Posts
    7,726

    Re: .net help!

    Quote Originally Posted by DBA007 View Post
    thanks for the advice, but , HUH? , sorry mate, i'm not a programmer, the only config i see in there are the web.config and theres no <assemblies> tags in there
    My fault: I did not read the question carefully, and answered a bit in a hurry.
    now to your matter: you think they simply changed that dll, but you said that is for version 4, and version 4 might have many differences from version 3, expecially when it comes to Com interfaces. I might be wrong but do believe you're out of luck.
    ...at present time, using mainly Net 4.0, Vs 2010



    Special thanks to Lothar "the Great" Haensler, Chris Eastwood , dr_Michael, ClearCode, Iouri and
    all the other wonderful people who made and make Codeguru a great place.
    Come back soon, you Gurus.

  13. #13
    Join Date
    Apr 2010
    Posts
    8

    Re: .net help!

    hi

    i did know it was a shot in the dark. we decided to publish IE7 in citrix rather..

    thanks for all the help guys.

  14. #14
    Join Date
    Nov 2002
    Location
    .NET 3.5 VS2008
    Posts
    1,039

    Re: .net help!

    Quote Originally Posted by DBA007 View Post
    thanks, thought i could generate a new one and change it in the registry. cos the CLSID in registry seems to be pointing to the old interop.dll
    Good point. In any case you wouldn't be able to put any old GUID there. It would have to match the one in the library. Having said it you could always inspect the library and get the GUID from there. You should have a tool called Ildasm.exe which is part of the .NET Framework or Framework SDK. You can use that tool to look at the metadata in the interop library. It might show you the CLSID it is expecting. On the other hand if you don't have the correct CLSID in the registry it would indicate the registration failed or did not complete...

  15. #15
    Join Date
    Apr 2010
    Posts
    8

    Re: .net help!

    Hi Nelo,
    thnaks for the tip , but i already almost f**ed up the test server - luckily i made a registry backup before tampering - i was messing around with this so much , taht the website gave me
    HTTPException errors , the application services didnt want to start, - luckily i managed to fix it by restrong the registry - all is fine now in the test server.-- "PHEW!!" - didnt feel like re-installin the app on the test server today as its FRIDAY!!!

    anyway, as mentioned above, we gonna rather either publish IE7 in citrix xen or maybe customise our Windows 7 images with IE 7 and then roll taht out!

    thanks for the help dude.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured