I have built a generic assembly (we'll call it "WordAutomationWrapper") that
inspects the registry (HKCR\Word.Application\CurVer) to determine what
version of MS Word is installed.
Using that knowledge, I want to dynamically invoke one of 3 "wrappers" that
each absttracts the early-bindings to a specific version of the
Word.Application interface.
I use that to do the following and get back an instance of my version
specific class:
MyWordInterfaceObject =
System.Activator.CreateInstance(MyWordAssemblyName, MyWordTypeName)
MyWordInterface = CType(MyWordInterfaceObject.Unwrap,
WordInterfaceBase)
Now that I have this class instantiated (which works), within it I call an
"Initialize" routine that should be invoking an instance of Word.Application
(early bound).
When I tried this, I got an error about not having the Interop assembly in
the right place. I think I can get past this error, but when I went to look
in the \Bin folder to get the files, I noticed that the Interop assembly is
named "Interop.Office.dll", "Interop.VBIDE.dll", and "Interop.Word.dll".
Being that I am trying to support multiple versions of Word dynamically, how
do I get some type of "qualifier" on these Interop assemblies & utilize them
in my project references?? Could it be as simple as renaming &
re-referencing???
I'd really like to see "Interop.Word.9.dll" and on other versions
"Interop.Word.10.dll"... etc... etc.. etc...
Any SDK guru's able to help? I'm thinking there's some command-line option
that can make my life easier.... Maybe even good old 'ren interop.word.dll
interop.word.9.dll'... if I'm lucky.
Thanks!
Mattias Sj?gren - 08 Dec 2004 19:16 GMT
>Could it be as simple as renaming & re-referencing???
Yes
Mattias

Signature
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.