The error message "Cannot install or start the application. The application requires stdole Version 7.0.3300.0 in the GAC."

When one user tries to run the application, our ClickOnce application reports:

Cannot install or run the application. The application requires stdole Version 7.0.3300.0 in the GAC.

It is interesting to note that stdole is not installed in the GAC (C: \ Windows \ assembly). How do I get it?

We are using .NET 3.5 and it was installed on this computer.

+52
clickonce gac
Feb 17 '09 at 19:24
source share
10 answers

So it turns out that the .NET files were copied to C:\Program Files\Microsoft.NET\Primary Interop Assemblies\ . However, they have never registered with the GAC .

I ended up manually dragging and dropping files into C:\Program Files\Microsoft.NET\Primary Interop Assemblies in C:\windows\assembly , and the application worked on this problem machine. You can also do this programmatically using Gacutil .

So, it looks like something happened to .NET during the installation, but this seems to fix the problem. I hope this helps someone else!

+24
Feb 18 '09 at 15:32
source share

Try switching to the Publish tab in the project properties, and then click the Application Files button. Then set the following properties:

  • Stdole.dll file name
  • Post status to enable
  • Download the group to the required

After that, you need to republish your application.

If the link has CopyLocal = true, this link will be published with the application. If the link has CopyLocal = false, the link will be marked as a prerequisite. This means that the assembly must be installed in the client GAC before the ClickOnce application is installed.

There are some assemblies that are installed in the GAC due to the installation of Visual Studio, and not for installing the .NET Framework. It could be your situation.

+62
Feb 17 '09 at 19:42
source share

In my case, I solved this problem by going to the Publish tab in the project properties, and then selecting the Application Files button. Then just:

Note. . Before applying this solution, make sure that you already (like me) have checked all your solution projects and have not found links to the stdole.dll assembly.

1 - the stdole.dll file is located;

2 - changed the status of Publish to Exclude

3 - After that you need to publish your application .

This issue occurred on Visual Studio 2012 after it was migrated from Visual Studio 2010.

Hope this helps.

+19
Sep 30 '14 at 21:41
source share

I had the same problem with ClickOnce deployment.

I solved the problem by going to the "Publish" tab in the project properties, and then selecting the "Application Files" button.

Then I selected the following options:

  • 'Filename' 'stdole.dll'
  • "Publish Status" to "Enable" and
  • 'Upload group' to 'Required'.

This fixed my issue when republishing.

Hope this helps you: D

+11
Feb 17 '09 at 19:44
source share

We had the same problem with our ClickOnce application, which uses Interop with Microsoft Office. This happened on only a few computers in the company.

The best solution that we found out was to change the installation of MS Office on problem computers (through the "Programs and Features" panel) and make sure that the ".NET programming function" (not sure of the component name - our versions of Microsoft_Office are not English) was installed for each of the MS Office applications (Excel, Word, Outlook, etc.). This does not seem to be included in the default installation.

Then the problem with stdole.dll was fixed.

Hope this helps.

+3
Apr 29 '11 at 4:00 p.m.
source share

Well, you cannot install the GAC using ClickOnce. This is described in this MSDN article .

+1
Mar 01 '09 at 22:49
source share

Check if you are really using the EnvDTE link. If not, uninstall it and recompile.

0
Apr 30 '09 at 15:04
source share

Interestingly, I did not have any references to stdole in my project, but I had a user still getting the error. I had to add a link and then change the setting to enable. Hope this works.

0
Aug 19 '09 at 15:19
source share

In H2oRider - Does your application access Oracle dlls in the GAC? I recommend you the following: add a dll to your project and set the build action to "content" and set "copy to output directory" to "always copy".

Then remove the links (links) to the dll in the GAC. Re-add the link, but this time go to the one you just added to your project.

Now publish it. The application will look for the DLL locally, and the DLL will be included in the deployment to find it.

If this does not work, you may not be able to use this DLL if it is included locally and not in the GAC. This applies to some builds, such as Office PIA. In this case, the only way to deploy it is to wrap it in an installation and deployment package and use the Bootstrapper manifest generator to turn it into a prerequisite that you can publish when you deploy ClickOnce.

0
Mar 29 '11 at 6:26
source share

My solution: I opened the recommendations folder in the solution explorer (showing all the files) and for each assembly that the installation complained about (the assembly name may not be the same as the assembly file name - inside the explorer object, but easy enough to understand), I changed Copy Local to Truth. In the end, I needed to do this with every installation of Microsoft Office / COM .

0
Jan 08 '13 at 19:57
source share



All Articles