I have a project which I have upgraded from VB 6.0. The project uses MS Word 2003 as an output generator. When I try to install the project on a computer that has MS Word 2003 installed, I get the following error:
The application requires that assembly office Version 11.0.0.0 be installed in the Global Assembly Cache (GAC) first.
The class through which I direct all my calls to Word has an
Imports
Microsoft.Office.Interopline to access Microsoft Office, and the Microsoft Word 11.0 Object Library (COM, Version 8.3) is included in the references. The program runs correctly in the development environment (development environment also has MS Word 2003 installed).
The Word Application is late-bound with an object assignment of
mvar_wdApp = CreateObject("Word.Application")I haven't found anything on these forums to explain the error (although it looks like there may be an explanation on the Russian version of GotDotNet; unfortunately, I don't read Russian ![]()

Installation Error on project - Global Assembly Cache
ljlevend
Hi John,
How are you installing the application I just tried creating a simple app that references Word 11, published via ClickOnce, installed on another computer with no problem, so installing to the GAC shouldn't be necessary. Is there code somewhere in your app that is expecting the Word .dll to be in the GAC
Steve Hoag
Visual Basic Express
Bilal Haider
I would suspect that the problem is related to upgrading - maybe the path to the Word 11 .dll was hard-coded into the VB 6 project file, whereas references are handled differently in VB 2005.
The repro that I did was on the Pro edition, not Express, although I can't imagine why that would make a difference. I don't have Express installed other than on a Terminal Server which doesn't have Word, so I can't try it there.
As a sanity check, could you try this and see if it works:
Create a new Windows Forms project
Add a reference to Word 11
Add an Imports statement for Office.Interop.
Add a button to the form and in the Button_Click event add
Dim mvar_wdApp As New Word.Application
mvar_wdApp = CreateObject("Word.Application")
Publish the application as you did before, and see if you can install and run on the second computer.
RizwanSharp
Steve,
I'm right-clicking in solution explorer to get the properties and then selecting the publish tab (I have to do it that way instead of from the file menu because I can't be sure that the .NET framework is on the target machines, and their users don't necessarily have download rights, so the framework has to be included). I'm using that to publish it to a network drive.
Since I've not deployed a VB2005 program before, I'm unclear on what kind of code to look for in my program that would expect the .dll to be in the GAC - I'd simply expect any code that I had to reference the appropriate dll's on the target machine (which is the way the 6.0 code worked - I didn't have to include a word .dll in the installer). Could you give me an idea of what kind of code would be looking to the GAC specifically instead of the installed files on the target machine Thanx.