<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>dreagis.com - Office</title>
    <link>http://www.dreagis.com/</link>
    <description>when the ink flows true, worlds are born and thrive</description>
    <language>en-us</language>
    <copyright>BJ Herrington</copyright>
    <lastBuildDate>Fri, 30 Nov 2007 03:55:49 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>bob@dreagis.com</managingEditor>
    <webMaster>bob@dreagis.com</webMaster>
    <item>
      <trackback:ping>http://www.dreagis.com/Trackback.aspx?guid=2c1b3d5e-a5dd-430c-89d1-8c9d956d8cf0</trackback:ping>
      <pingback:server>http://www.dreagis.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.dreagis.com/PermaLink,guid,2c1b3d5e-a5dd-430c-89d1-8c9d956d8cf0.aspx</pingback:target>
      <dc:creator>Bob</dc:creator>
      <wfw:comment>http://www.dreagis.com/CommentView,guid,2c1b3d5e-a5dd-430c-89d1-8c9d956d8cf0.aspx</wfw:comment>
      <wfw:commentRss>http://www.dreagis.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2c1b3d5e-a5dd-430c-89d1-8c9d956d8cf0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
So I've been working with mass archiving Office documents at work lately.  Part
of this process is extracting meta data information from the files such as subject
and author.  Microsoft has had a "sample" component out for a while to accomplish
this:  <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=9BA6FAC6-520B-4A0A-878A-53EC8300C4C2&amp;displaylang=en">DSOFile</a>. 
Using this component brings up COM Interop fun which I like to avoid if possible.
</p>
        <p>
Having a bit of free time on my hands, I set about looking at rewriting DSOFile using
C++/CLI.  This actually turned out to be pretty easy once I figured out how msclr::com::ptr
worked and <a href="http://www.codeplex.com/dsofilenet">DSOFileNET</a> was born.
</p>
        <img width="0" height="0" src="http://www.dreagis.com/aggbug.ashx?id=2c1b3d5e-a5dd-430c-89d1-8c9d956d8cf0" />
      </body>
      <title>DSOFile .NET</title>
      <guid isPermaLink="false">http://www.dreagis.com/PermaLink,guid,2c1b3d5e-a5dd-430c-89d1-8c9d956d8cf0.aspx</guid>
      <link>http://www.dreagis.com/PermaLink,guid,2c1b3d5e-a5dd-430c-89d1-8c9d956d8cf0.aspx</link>
      <pubDate>Fri, 30 Nov 2007 03:55:49 GMT</pubDate>
      <description>&lt;p&gt;
So I've been working with mass archiving Office documents at work lately.&amp;nbsp; Part
of this process is extracting meta data information from the files such as subject
and author.&amp;nbsp; Microsoft has had a "sample" component out for a while to accomplish
this:&amp;nbsp; &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=9BA6FAC6-520B-4A0A-878A-53EC8300C4C2&amp;amp;displaylang=en"&gt;DSOFile&lt;/a&gt;.&amp;nbsp;
Using this component brings up COM Interop fun which I like to avoid if possible.
&lt;/p&gt;
&lt;p&gt;
Having a bit of free time on my hands, I set about looking at rewriting DSOFile using
C++/CLI.&amp;nbsp; This actually turned out to be pretty easy once I figured out how msclr::com::ptr
worked and &lt;a href="http://www.codeplex.com/dsofilenet"&gt;DSOFileNET&lt;/a&gt; was born.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.dreagis.com/aggbug.ashx?id=2c1b3d5e-a5dd-430c-89d1-8c9d956d8cf0" /&gt;</description>
      <comments>http://www.dreagis.com/CommentView,guid,2c1b3d5e-a5dd-430c-89d1-8c9d956d8cf0.aspx</comments>
      <category>Development</category>
      <category>Office</category>
    </item>
    <item>
      <trackback:ping>http://www.dreagis.com/Trackback.aspx?guid=04e5c576-4516-4eaf-ba8d-6be1204bb323</trackback:ping>
      <pingback:server>http://www.dreagis.com/pingback.aspx</pingback:server>
      <pingback:target>http://www.dreagis.com/PermaLink,guid,04e5c576-4516-4eaf-ba8d-6be1204bb323.aspx</pingback:target>
      <dc:creator>Bob</dc:creator>
      <wfw:comment>http://www.dreagis.com/CommentView,guid,04e5c576-4516-4eaf-ba8d-6be1204bb323.aspx</wfw:comment>
      <wfw:commentRss>http://www.dreagis.com/SyndicationService.asmx/GetEntryCommentsRss?guid=04e5c576-4516-4eaf-ba8d-6be1204bb323</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Something that I happened upon this week after reading one-to-many post saying that
VSTO Add-ins can't be installed for all users under Office 2007.  I knew it worked
that way under Office 2003, and they couldn't have broken compatability <strong>that</strong> much
in '07.  I was determined to find a workable solution to this problem because
the sheer administrative overhead of needing each user to run the install or another
patch mechanism was rediculous.
</p>
        <p>
First, I had to identify the major difference between '03 and '07 when dealing with
VSTO:  '07 supports it natively.  In '03 all VSTO Add-ins are loaded via
a generic shim and are essentially regular COM add-ins.  In '07 the add-ins are
loaded directly by the Office app, ignoring the shim.  To get around this issue,
you have to cause '07 to load your add-in the same way that '03 would:  as a
COM-shimmed add-in.  Invoking this behavior is a simple stroke of the delete
key.
</p>
        <p>
Setup your installer as normal, except having all registry entries defined under HKLM
instead of HKCU.  Then navigate to HKLM/Software/Microsoft/Office/[APP]/Addins/[YourAddin]. 
Remove the "Manifest" value from this key.  This value being missing causes '07
to load your add-in via the ProgID [YourAddin], which eventually leads it to the VSTO
AddinLoader and your real add-in via the Manifest defined under your CLSID/[GUID]
entry.
</p>
        <p>
There is a downside to this method:  If your add-in crashes, it will take out
all other add-in using the AddinLoader via Office's disabled list.
</p>
        <img width="0" height="0" src="http://www.dreagis.com/aggbug.ashx?id=04e5c576-4516-4eaf-ba8d-6be1204bb323" />
      </body>
      <title>Install VSTO Add-Ins for All Users</title>
      <guid isPermaLink="false">http://www.dreagis.com/PermaLink,guid,04e5c576-4516-4eaf-ba8d-6be1204bb323.aspx</guid>
      <link>http://www.dreagis.com/PermaLink,guid,04e5c576-4516-4eaf-ba8d-6be1204bb323.aspx</link>
      <pubDate>Tue, 21 Aug 2007 17:38:41 GMT</pubDate>
      <description>&lt;p&gt;
Something that I happened upon this week after reading one-to-many post saying that
VSTO Add-ins can't be installed for all users under Office 2007.&amp;nbsp; I knew it worked
that way under Office 2003, and they couldn't have broken compatability &lt;strong&gt;that&lt;/strong&gt; much
in '07.&amp;nbsp; I was determined to find a workable solution to this problem because
the sheer administrative overhead of needing each user to run the install or another
patch mechanism was rediculous.
&lt;/p&gt;
&lt;p&gt;
First, I had to identify the major difference between '03 and '07 when dealing with
VSTO:&amp;nbsp; '07 supports it natively.&amp;nbsp; In '03 all VSTO Add-ins are loaded via
a generic shim and are essentially regular COM add-ins.&amp;nbsp; In '07 the add-ins are
loaded directly by the Office app, ignoring the shim.&amp;nbsp; To get around this issue,
you have to cause '07 to load your add-in the same way that '03 would:&amp;nbsp; as a
COM-shimmed add-in.&amp;nbsp; Invoking this behavior is a simple stroke of the delete
key.
&lt;/p&gt;
&lt;p&gt;
Setup your installer as normal, except having all registry entries defined under HKLM
instead of HKCU.&amp;nbsp; Then navigate to HKLM/Software/Microsoft/Office/[APP]/Addins/[YourAddin].&amp;nbsp;
Remove the "Manifest" value from this key.&amp;nbsp; This value being missing causes '07
to load your add-in via the ProgID [YourAddin], which eventually leads it to the VSTO
AddinLoader and your real add-in via the Manifest defined under your CLSID/[GUID]
entry.
&lt;/p&gt;
&lt;p&gt;
There is a downside to this method:&amp;nbsp; If your add-in crashes, it will take out
all other add-in using the AddinLoader via Office's disabled list.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.dreagis.com/aggbug.ashx?id=04e5c576-4516-4eaf-ba8d-6be1204bb323" /&gt;</description>
      <comments>http://www.dreagis.com/CommentView,guid,04e5c576-4516-4eaf-ba8d-6be1204bb323.aspx</comments>
      <category>Development</category>
      <category>Office</category>
    </item>
  </channel>
</rss>