That doesn't help because I can't add them to my references cause they don't
show up.
I've tried uninstalling and reinstalling
I've tried maintainence mode
I've tried everything I can think of.
The only way I can see to do this is to copy the suckers out of the assembly
by hand using a command prompt.... THIS SUCKS.
Anyone have any better way of doing this that isn't going to get me so
pissed off I switch to linux?
<rant>
MSDN search is HORRIBLE. It is the worst it has been in the entire time
that I have been using MS development tools (15+ years.) Back in the good
old days you could use msdn and do a search and find exactly what you're
looking for. Now you get duplicate articles and other various crap that has
nothing to do with what you want and you end up going around and around in
circles. Hell to find anything on the Platform SDK you have to use Google
because it just won't come up at all in msdn unless you type in the specific
interface (i.e. IHTMLDocument2) and even then, it's better to use Google
becasue it's always the first item.
I spent 15 minutes trying to find the damn VS tools of office page. This
should be linked on the msdn home page. It should show up when I type Office
2003 PIAs etc. etc. (I didn't know until after about 10 minutes that they
decided to call this stuff VS tools for Office 2003.) If you go to the
developer link on office.microsoft.com it takes you to the home page of
msdn.... how this is relivent I don't know! I should take you to a devleoper
page with content specifically for developers wanting to do Office stuff.
The very first link should be the VS Tools and the PIAs and how to get them
to work.
support.microsoft.com/search used to allow you to type in an error message
and it would return all articles related to that error message. If you do
that now, you get NOTHING. Especially with VS.net articles.
Why the hell else would you use support.microsoft.com/search? To find an
error message and the appropriate kb articles! WAKE UP MS AND FIX THIS
CRAPPY HELP YOU HAVE.
My personal favourite is WSE 1.0 that actually has function calls and
properties that DO NOTHING even though the documentation says that they do.
(Chunksize anyone?) WSE 2.0 has been in technical preview for 10 months now
without an update, and completely breaks WSE 1.0 stuff, especially with
shared Keys. And then there is the crap you manually have to add to the
web.config files etc. etc. and no samples for chunking attachments or how to
send them or anything or how to use TCP instead of HTTP for your web
services, and on and on and on. My personal favourite XXX has been made
obsolete, please see Topic X... topic X is BLANK.
</rant>
Sorry I had to vent, I've spent 15 hours running around MS help systems and
not getting anywhere and remembering the good old days of VB6 where
everything was at my finger tips, the samples actually did something other
than show you how to use the constructor "create a networkstream by doing
this networkstream ns = new networkstream();" Wow that was usefull.
...that was more ranting wasn't it????
Can someone save me missery and tell me how to get the PIAs to show up in my
Add references window please????
James Hancock
Siew Moi
---
This posting is provided 'AS IS' with no warranties, and confers no rights.
Sample code subject to http://www.microsoft.com/info/cpyright.htm
Where and How to get the Office 2003 PIAs?
The .NET Framework v1.1 is required. If you don't have the .NET Framework
v1.1 already installed when you install Office 2003, the PIAs will not be
installed. Additionally, the option to install the PIAs doesn't show up in
the Custom setup for Office. If you have the .NET Framework v1.1 installed,
then you will see something like .NET Programmability Support in the list of
options.
If you do a complete install of Office 2003, you'll get the PIAs installed
into the GAC automatically. It's strongly recommended that you do a complete
install. With a typical install, the PIAs are installed on demand.
Note If you are doing development work, don't do a typical install of
Office 2003 if you want the PIAs. There is a known bug in Visual Studio .NET
and Visual Studio 2003 where if PIAs are set to install on demand in a
typical install, or install on first use for custom install, when you
reference an Office COM type library, you could end up getting an interop
assembly (IA). To avoid this issue, make sure the Office 2003 PIAs that you
need to reference are already installed into the GAC before you start any
development work. However, on end user machines where no development work
needs to take place, it's okay to do a typical install of Office 2003 on
their machines.
If you install the .NET Framework v1.1 only after you've installed Office
2003, to get the PIAs after that, you would need to rerun Office setup.
1. Then select Add or Remove Features, and click Next.
2. Select the Choose advanced customization of applications check box and
click Update.
3. Expand the Office Tools node, select Smart Tag .NET Programmability
Support to get the smart tag PIA . Make sure you choose Run from My
Computer. Do not choose install on first use.
4. To install other Office 2003 application specific PIAs, expand that
particular application nodes and select .NET Programmability Support to
install the application specific PIAs. Again, make sure you choose Run from
My Computer. Do not choose install on first use.
Office 2003 Primary Interop Assemblies (PIAs)
The Office 2003 Primary Interop Assemblies (PIAs) if successfully installed
will be in the Global Assembly Cache (GAC) in <Drive>:/WINDOWS/assembly or
<Drive>:/WINNT/assembly. If for example, the smart tag PIA is installed in
the GAC, you will see Microsoft.Office.Interop.SmartTag, version 11.0.0.0,
public key token 71e9bce111e9429c in the GAC. If you don't see it, then it
means you somehow didn't manage to install the PIAs.
How to reference a Smart Tag\Application Specific PIAs
1. Open the .sln file in Visual Studio .NET or Visual Studio 2003.
2. Then in the Solution Explorer, expand the References node.
3. Right click on References and click Add References. This displays the Add
reference dialog box.
4. Click on the COM tab.
5. From the Component Name list, scroll down to Microsoft Smart Tags 2.0
Type Library. Highlight it and click Select. You will see it listed in the
Selected Components list in the same dialog box.
6. Click OK. You should see SmartTagLib now in the References node in the
Solution Explorer.
7. If you highlight the SmartTagLib and look at its properties in the
properties window, the Copy Local property should say False. And the path
property should point to its location in the GAC including its version
number: 11.0.0.0. On a Windows XP operating system, it looks something like:
C:\WINDOWS\assembly\GAC\Microsoft.Office.Interop.SmartTag\11.0.0.0__71e9bce1
11e9429c\Microsoft.Office.Interop.SmartTag.dll
8. To add reference to other Office 2003 type libraries, repeat steps 3 to
7. In Step 5, choose the appropriate application type library.
How do you know if you are referencing the PIAs correctly?
To know if you've done it correctly, check to make sure the SmartTagLib's
Copy Local property is False and the Path property, on a Windows XP machine,
is something like:
C:\WINDOWS\assembly\GAC\Microsoft.Office.Interop.SmartTag\11.0.0.0__71e9bce1
11e9429c\Microsoft.Office.Interop.SmartTag.dll
If the Copy Local property in the Properties window is set to True, your
solution is not referencing the smart tag PIA but and interop assembly (IA)
instead.
Best practice is to always use the official PIAs. You should then remove the
IA and re-reference again. To remove an IA, right click on the IA and click
Remove. Resolving it this way only works if you didn't do install on first
use but run from my computer or did a complete install (see "Where and How
to get the Office 2003 PIAs? " topic discussed above on why this matters).
If you know you have the Office 2003 PIAs in the GAC, but somehow you keep
getting IA and not the PIA instead, it could mean some type library
registration has broken that specific PIA registration.
To fix this, you can do any of the following:
1. do an Office repair
2. re-install the affected PIA. To do this, rerun Office setup (see "Where
and How to get the Office 2003 PIAs? " topic discussed above on how to
custom install an Office 2003 PIA).
3. RegAsm that particular PIA from the GAC to re-register that PIA. For
example to RegAsm the smart tag PIA (the namespace for the SmartTagLib PIA
is Microsoft.Office.Interop.SmartTag):
%systemroot%\Microsoft.NET\Framework\v1.1.4322\RegAsm.exe
%systemroot%\assembly\GAC\Microsoft.Office.Interop.SmartTag\11.0.0.0__71e9bc
e111e9429c\Microsoft.Office.Interop.SmartTag.dll
To RegAsm the Office PIA (the Office PIA's namespace is
Microsoft.Office.Core)
%systemroot%\Microsoft.NET\Framework\v1.1.4322\RegAsm.exe
%systemroot%\assembly\GAC\Office\11.0.0.0__71e9bce111e9429c\Office.dll
To RegAsm the VBIDE PIA (the VBIDE PIA's namespace is Microsoft.Vbe.Interop)
%systemroot%\Microsoft.NET\Framework\v1.1.4322\RegAsm.exe
%systemroot%\assembly\GAC\Microsoft.Vbe.Interop\11.0.0.0__71e9bce111e9429c\M
icrosoft.Vbe.Interop.dll
This sort of check on correct referencing of PIAs can be applied to other
Office PIAs.
"James Hancock" <nospamj...@darwinproductions.ca> wrote in message
news:%23P4%23E17EE...@TK2MSFTNGP09.phx.gbl...
Argh!
Thanks for the info though...
James Hancock
"Siew Moi Khor [MS]" <smk...@online.microsoft.com> wrote in message
news:eoHrqZ8E...@TK2MSFTNGP09.phx.gbl...
However I think its important to separate true managed libraries from
interop libraries. There is a big distinction at a .NET level, and this
reinforces the difference.
Now, hopefully some day we will have a "true mananged class library" that
has been refactored for .NET & Office. Then it should show up on the list of
.NET components.
--
Chris Kunicki
http://blogs.officezealot.com/chris - Personal thoughts on Office
http://www.officezealot.com - Micosoft Office Portal
"James Hancock" <nospamj...@darwinproductions.ca> wrote in message
news:eu48sUD...@tk2msftngp13.phx.gbl...
And they haven't improved at all since the Office 2000/2002 ones came out!
GARBAGE. You'd think that MS's premier programming language would have a
premier way of interfacing with MS's premier office suite... but no... we
get crap like this... I can't believe this would have taken more than a week
or two to pound together with 4 or 5 guys going at it... I'm sure MS could
have spent a little more and gotten it right. One version of Office (2002) I
can live with, call it growing pains. Two versions of office, NO WAY.
James Hancock
"Chris Kunicki (OfficeZealot.com)" <nospam...@officezealot.com.nospammam>
wrote in message news:%23bjEyNE...@TK2MSFTNGP09.phx.gbl...
However, once you get over the fact that they are using Interop assemblies
and start using them, you'll find you can get a lot done. And the good news
is that .NET is so much more useful than VBA that there are numerous
benefits you probably haven't experienced yet.
Personally, I hope I never have to write VBA again, .NET has increased my
Office dev productivity 1000%.
One of the challenges is that we are fusing an older architecture (COM &
Office) with a new world (.NET, focused on components and security) and
there are a lot of things we have to learn.When you get over the leanring
curve though, the return is good!
--
Chris Kunicki
http://blogs.officezealot.com/chris - Personal thoughts on Office
http://www.officezealot.com - Micosoft Office Portal
"James Hancock" <nospamj...@darwinproductions.ca> wrote in message
news:uZaeN6tF...@TK2MSFTNGP11.phx.gbl...
So if it's not good enough for Vs.net then it isn't good enough for Office.
Just cause it's better than what you had doesn't mean that it is at all good
enough or shouldn't be judged on it's own merits.
MS should be embarassed all to hell about this.
James Hancock
"Chris Kunicki (OfficeZealot.com)" <nospam...@officezealot.com.nospammam>
wrote in message news:uJKk98yF...@TK2MSFTNGP12.phx.gbl...
So, you have a listening audience (big brother is lurking), take a few
minutes to explain why you want managed OM for Office, how would you use it,
what benefits would you expect?
If more people provide objective business perspective, it might help get the
functionality sooner.
--
Chris Kunicki
http://blogs.officezealot.com/chris - Personal thoughts on Office
http://www.officezealot.com - Micosoft Office Portal
"James Hancock" <nospamj...@darwinproductions.ca> wrote in message
news:%23in0Uz$FEHA...@tk2msftngp13.phx.gbl...
In this you're wrong. Creating a proper managed wrapper does not take long.
(I've done it with MSHTML which is twice or more the size of the Office
stuff) For MS who actually has all of their internal documentation for this
stuff, it would be trivial to do and should have been part of the beta test.
But here's a tip: Office 2003 beta didn't even have a news group for
Programmers and the PIAs weren't ever made available during the beta test.
The business case is obvious. The more integration between Vs.net and
Office, the more sales and the more locked in companies are to MS and the
safer MS is from open source. Especially for a couple thousand dollars
worth of development. (< $10,000 US)
James Hancock
If you really want to program Office documents in .NET without jumping
through hoops, read/write XML and get to know the Office XML schemas.
There's a considerable learning curve there, but it's a much more solid
interface than the PIAs, which break sometimes in interesting ways
(collections, for instance) that even Microsoft doesn't seem to understand.
If you look at Excel as simply a powerful interface for displaying data and
do all your real work behind the scenes in XML you'll have a much more
reliable architecture.
Anyway, that's my view...
-- Jeff
"James Hancock" <nospamj...@darwinproductions.ca> wrote in message
news:O8Lk$oGGEH...@TK2MSFTNGP10.phx.gbl...
Retrieving XML Programmatically in Word
(Do we need the Word Object Model anymore?)
http://blogs.officezealot.com/chris/archives/000018.html
I can see a time where most of our code is XML going in and out, everything
else being VS.NET for logic flow and interaction with the user.
--
Chris Kunicki
http://blogs.officezealot.com/chris - Personal thoughts on Office
http://www.officezealot.com - Micosoft Office Portal
"Jeff Webb" <jwe...@cfl.rr.com> wrote in message
news:eE%23p2$KGEHA...@tk2msftngp13.phx.gbl...
Whereas the Object Model allows you to control all of this stuff nicely
instead of using slow XML stuff. (Please don't get me started on the
argument of XML being slow... it is, it's text, and it's doing text
parsing.... that's slow compared to a B-tree and direct object model
access.)
James Hancock
"Chris Kunicki (OfficeZealot.com)" <nospam...@officezealot.com.nospammam>
wrote in message news:%23qgDr8L...@TK2MSFTNGP11.phx.gbl...
There's also a whole class of Word/Excel problem that is pretty much solved
by XML -- named ranges, inline styles, and other devices used to identify
the type of content becomes part of your XML schema.
I'm not saying it's easy, it's just a better foundation. It's also
wonderfully extensible -- XSLT and Web services are pretty darn useful...
"James Hancock" <nospamj...@darwinproductions.ca> wrote in message
news:OnoMo6NG...@tk2msftngp13.phx.gbl...
"Jeff Webb" <jwe...@cfl.rr.com> wrote in message
news:O$xDV3PG...@tk2msftngp13.phx.gbl...
Once XML data is in memory it seems pretty quick to me. I've never seen
benchmarks on this, but it sounds like you have something specific you've
run in to.
-- Jeff
"James Hancock" <nospamj...@darwinproductions.ca> wrote in message
news:O4%23pTeyG...@TK2MSFTNGP11.phx.gbl...