none
Problems with stdole.dll RRS feed

  • Question

  • Hi,

    I made an application and use the MapPoint ActiveX Control.
    When I start the app I check for the presence of MapPoint and if it is there it shows a map.
    This all works fine.

    But now I tried to deplay the app to a clean machine.
    XP SP2 / .NET CF 2.0 (downloaded dotnetfx.exe) are on the machine.

    The app deployed fine on the machin until I added tha ActiveX Control.
    Now after some installation work it brings a MessageBox:
    System Update Required
    Unable to install or run this application
    This application requires your system to
    be updated to stdole Version 7.0.3300.0

    I tried to include the dll in the project - that does not help.

    Is there a way to make this run with click once??

    Cheers

    Manfred
    Friday, May 13, 2005 11:56 AM

Answers

  • This is a known bug in Beta2 & is being addressed.

    To workaround this problem, open your project references & delete the refernce to stdole.dll
    Friday, May 13, 2005 6:13 PM

All replies

  • This is a known bug in Beta2 & is being addressed.

    To workaround this problem, open your project references & delete the refernce to stdole.dll
    Friday, May 13, 2005 6:13 PM
  • Thanks for the reply.

    I also found a workaround :-)
    I used gcutil to insert stdole.dll in the destinations GAC - then deployment works also!

    But I will give your suggestion a try - I'll remove it from the refs and add it as "Content File" to ensure that it is deployed with the application.

    Cheers

    Manfred
    Friday, May 13, 2005 10:36 PM
  • Manfred,

    Would you please elaborate on the gcutil and what/how you did what you did? I'm not familiar with this utility.

    Thanks in advance,
    M
    Friday, June 10, 2005 3:19 PM
  • Hi M,

    gcutil is a commandline tool for the global assembly cache.
    With it you can add assemblies to the GAC.
    And that is the thing I did.

    If you call gcutil with -? you will get the correct syntax for using it.
    I did nothing more than call
    a.) send the assembly to the other machine
    b.) run this util there to add the assembly to the GAC

    Of course this is only a workaround sinc the means of "OneClickDeployment" are not to do such things Big Smile

    Cheers

    Manfred
    Friday, June 10, 2005 3:33 PM
  • Hello,

    there is another (perhaps better) way (Visual Studio 2.0.50215):

    In "Project-Properties" - "Publish" - "Application Files..." - "stdole.dll" set "publish Status" to "Include".

    Then it should work!


    Cya

    Steini
    Tuesday, June 21, 2005 1:43 PM
  • Hi Steini,

    did you try it?
    I don't think so - because I did it - and yes the file is included but not installed in the GAC - and that makes the problems!

    If I am wrong - and you tried it - be sure to try it with a machine where no VS 2005 is installed - just the dotnetfx.exe (.NET 2.0 RT) - nothing more!!

    Cheers

    Manfred
    Wednesday, June 22, 2005 5:30 AM
  • Hi Manni,

    It's right that stdole.dll isn't installed in GAC. But in my case all works perfect.

    I tried it with three machines, which have never seen a VS. I used the complete installation ("RUN" installing .NET 2.0 RT and "launch" starting the client).

    I didn't know that you need it in GAC. In my case (also using MapPoint Control and another c++ project) it works without using the GAC.


    Cya

    Steini
    Thursday, June 23, 2005 12:41 PM
  • I didn't found any thing in refrences pointing to stdole
    Tuesday, December 20, 2005 9:43 AM
  • I have the same problem. same error message as above. removing references to stdole does not help. Deployment to my own machines seems fine. But to another new install machine with .NET 2.0 it does not work.

    can anyone help?

    my program is useless without this! delivery date = yesterday!
    more info on manual gac installation as last resort would help - but this defeats the idea of 1-click install really,

    hope someone can help further, thanks

    Peter

     

    Wednesday, June 28, 2006 8:57 PM
  • OK, I spent 2 hours on this and then had a beer.

    The solution is simple. Check the VERSION NUMBER of stdole. You need to chose the right file. I looked at the version numbers on my machine and they all seemed later than the one asked for on the destination machine. So I thought there was no choice - but then I referenced a version of stdole associated with a control - and the correct version number appeared - even though a different version number appeared on the file when you right click and view properties.

    So - if anyone else is stuck - try referencing each of the stdoles on your PC in turn!

    hope this helps - someone might then owe me a beer?

    Peter

    Wednesday, June 28, 2006 9:29 PM
  • I have the problem that when I deploy a VB2005 application to another PC by copying the contents of the Bin folder (i.e. not by One click) I get the message about the missing file stdole.dll.  I am using Microsoft Visual Studio 2005
    Version 8.0.50727.42  (RTM.050727-4200)
    Microsoft .NET Framework
    Version 2.0.50727
    Installed Edition: VB Express
    Microsoft Visual Basic 2005   76541-000-0000011-00124


    If I look in the Project References,  there are 12 entries plus system.serviceprocess which is unused but there is no reference to stdole.dll so I cannot delete it as recommended


    On my development PC stdole.dll is in 2 folders , namely

    C:\Program Files\Microsoft.NET\Primary Interop Assemblies

    C:\Program Files\Common Files\Microsoft Shared\MSEnv\PublicAssemblies


    Neither of these folders is present on the Deployment PC

    - If I add them and put stdole.dll in them it still does not work (I suspect because of missing registry entries which I do not know how to make)


    One last possible clue.  When I deploy to a friend's PC which has had another.net application installed ,  my application works !

    His PC has the folder C:\Program Files\Microsoft.NET\Primary Interop Assemblies and it contains stdole.dll - Is this folder the GAC ?


    Any help or advisce you can offer as i have no ideas after spending several hours on this

    Thanks in advance


    Friday, July 13, 2007 10:57 AM
  • My problem is similar, in that my clickonce app will not deploy to several users because stdole.dll (7.0.3300.0) was removed from the GAC when they installed Office 2007.   I use Office 2003 functionality and the users who have not installed 2007 are still able to install.

     

    I could solve this in the short term by having each impacted user use gacutil to install stdole.dll in the GAC - in my case C:\Windows\Assembly   This is not a long term fix, and of course it requires user skill, priviledge, etc.   Also our policy prevents mailing of the required gacutil.exe or stdole.dll - although I can get around that.

     

    I have tried setting the Publish Status to "include (auto)" and the Download group to "(required)" however this does not solve the problem.  It appears that the clickonce loader process beeds stdole to get started?  I did try removing stdole from my assembly as well but that didn't help.

     

    I cannot move everyone to Office 2007, so I need to have my deployment reload stdole to the GAC.

     

    Appreciate any help on this

     

    Monday, August 20, 2007 10:26 PM
  • Thanks

     

    I did have a problem with stdole and sorted it out as described in thios thred

     

    The database problem is still unsolved

     

    Tuesday, August 21, 2007 2:51 PM
  • did you solve your problem? i have the same problem. Please can you help me?

     

    Thursday, August 23, 2007 5:53 PM
  •  

    I keep getting the stdole.dll populating in my web project references, which then adds an entry in the web.config file.  I cannot find a reference to stdole in my application anywhere.. Is there a utility that can search my solution file(s) for a reference that i might be missing?
    Wednesday, October 31, 2007 8:59 PM
  •  

    did anybody find an answer to this problem???

     

    I need a solution quick!

     

     

     

     

     

     

    Monday, May 5, 2008 11:24 PM
  •  

    I had the same problem. I fixed it by installing the MS Office 2003 PIAs on the target machine. (My application uses MS Excel 2003). Note: the target machine already had MS Office 2003 installed... not sure why the PIAs were missing.

     

    Wednesday, October 29, 2008 7:28 PM
  • office is an interactive desktop application so Programable interface is inherently not distributed at install time. but did u have the STDOLE problem that was fixed by installing PIA's?
    • Proposed as answer by CT2011 Wednesday, August 12, 2009 10:47 PM
    Monday, January 5, 2009 4:37 PM
  • Ok, common reasons for this erros is that, ADODB or a reference to it like Data Reports of VS is used in your project, but is NOT included as part of the setup files. THE GAC needs to find an entry for this dll in its folder so it can invoke its deploy version of this dll - so, as they are installed in the target PCs, they would be installed as prerequsites. The app. might run well in some PCs where its ADODB dll is already installed , but may not work in others. So, goto to Publish-?Application Files and mark ADODB dll as included. When you publish the app, it gets included as part of the setup. That should solve. This may also hold good for any other dependency dlls as well.
    Thyagarajan
    Wednesday, August 12, 2009 10:51 PM
  • It appears that stdole.dll is part of Office 2003 and 2007 Primary Interop Assemblies.  During the installation of Office, there is a choice to do a complete install or partial.  The complete install includes the Office PIAs while a partial may not.  If the PIAs are missing, Office does not have to be re-installed, just download and install the Redistributable PIAs from Microsoft. 

    Office 2003 Redistributable PIA Info
    http://support.microsoft.com/kb/897646

    Office PIA's included with VSTO 2008.
    http://msdn.microsoft.com/en-us/library/15s06t57.aspx

    How to: Install Office Primary Interop Assemblies for VSTO
    http://msdn.microsoft.com/en-us/library/kh3965hw.aspx?ppud=4

    Download Office 2007 Redistributable PIA (for client machines)
    http://www.microsoft.com/downloads/details.aspx?FamilyID=59daebaa-bed4-4282-a28c-b864d8bfa513&displaylang=en

    Download Office 2003 Redistributable PIA (for client machines)
    http://www.microsoft.com/downloads/details.aspx?FamilyId=3C9A983A-AC14-4125-8BA0-D36D67E0F4AD&displaylang=en



    My scenario: Visual Studio 2008 and ClickOnce for a Windows client app that uses Office 2007. 

    Tuesday, December 8, 2009 10:27 PM
  • Not sure I follow, is there away to install stdole.dll without having to install office 2003 or 2007 or visual studio?

    Otherwise, is the directive still for the programmers to make the change withing the programming?

    Thanks.


    Monday, January 11, 2010 10:37 PM
  • Is this a question about how to deploy stdole.dll with your application, or are you just trying to figure out how to install it so you can get something to work?

    If the latter, I think the posts above say you can just install the Primary Interop Assemblies.

    If the former, what kind of deployment are you using?

    RobinDotNet


    Click here to visit my ClickOnce blog!
    Microsoft MVP, Client App Dev
    Tuesday, January 12, 2010 7:55 AM
    Moderator