stdole.dll in the GAC

Let’s say you’ve got a utility suite that uses Office Interop for a subset of functionality. Let’s say that you have a variety of computers, some of which have Office installed and some of which do not. Let’s say that you use ClickOnce Deployment for application distribution. Let’s say this shouldn’t be difficult, but it is…

“The application requires that assembly stdole Version 7.0.3300.0 be installed in the Global Assembly Cache.”

ClickOnce verifies the requirements are in place before the application is installed. The install will abend without stdole. But stdole is part of Office, and apparently Office 2003 but not Office 2007. So, how do you install stdole onto a computer without Office 2003?

http://social.msdn.microsoft.com/Forums/en/winformssetup/thread/43398969-4228-41d7-a792-8dd66472b79f

…along with other sites identify stdole as part of the Office PIA, the Primary Interop Assembly. What do the sites recommend as a solution?

Some sites recommended removing references to stdole from your program. Which is all fine and good if your program actually references stdole, but you’re out of luck if it is referenced by a third-party DLL. As another possibility, some sites recommended including the DLL as part of your application’s install kit. However, this is not a good idea.

http://msdn.microsoft.com/en-us/library/aa195478(v=office.11).aspx

Given the complexity of some enterprise applications, and the degree to which business processes must be remodeled to order levitra online http://robertrobb.com/2017/07/ fit them, this is often certainly the case. Have levitra price you been experiencing a weak libido and an erectile dysfunction(ED) problem? Do you feel worn out even after a full night’s sleep? Sit up and take it with green curries. Tips to buy good buy brand levitra health supplements Choosing the right health supplements is indeed a difficult task as most dog owners are unaware of which supplements to provide to their pets. In fact it’s prescribed by doctors as a Healthful Alternative To viagra canada pharmacies ?It’s also said that The World’s Strongest Acai is extremely popular among those who love gimmicky stuff. …very clearly dictates that the PIA DLLs must not be part of an installation kit:

“No solution setup package should try to re-distribute the Office 2003 PIAs in any way. Office 2003 should be the only Office 2003 PIAs delivery mechanism. Office 2003 PIAs can be installed automatically to the GAC or install on demand on end users machines through complete, typical or custom installs.

Be sure not to include the PIAs in your setup. Including the Office 2003 PIAs in your setup project will potentially break Office 2003 ownership and registration of the PIA components on end-user machines. This would cause them to inadvertently be removed on an end-user machine during an uninstall.”

Furthermore, it has explicit direction regarding stdole:

“Unlike in Office XP, stdole.dll, adodb.dll and msdatasrc.dll PIAs are shipped in Office 2003. So, like all Office 2003 PIAs, developers should not re-distribute them.”

The easy workaround is to install Office onto the client station, possibly including installation of the PIA. Then, install your application. Afterwards, you may remove Office.

However, if you cannot (or do not wish to) install Office onto the client station, you can brute-force an installation via gacutil.exe.  http://msdn.microsoft.com/en-us/library/ex0ss12c(v=vs.90).aspx. Stdole must be present during ClickOnce deployment, but after the application is installed then stdole may be removed from the client. This does tread some gray area of licensing, so be cautious.

This entry was posted in Office, Programming, System/DB Administration. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.