<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx</link><description>How and why orca.exe came to be.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>RE: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#56488</link><pubDate>Sat, 11 Oct 2003 11:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:56488</guid><dc:creator>Siew Moi Khor</dc:creator><description>ok, since you said &amp;quot;...you'll find that I have this fascination with the stories behind the naming of people and things.&amp;quot; My Chinese name has a story too.  

I was born on winter solstice http://www.verilux.net/winter_soltice.htm My father decided to name me Winter Blossom http://www.icc1.org.uk/pages/Winter%20Blossom.htm because the conditions under which winter blossoms have to live are seen as pretty tough.  Also among other things, it was said that the colder the winter the more amazing, beautiful and fragrant the blooms will be.  

You see, I was born into a really poor family and I was supposed to be given away, to secure maybe a better future.  But my father couldn't do it.  My dad thought very carefully when he named me.  Among other things, my dad hoped that i would grow up strong, tough, resilient...and that I would thrive in the face of adversity.  That was how i came to have my name.  Needless to say, my dad and I were very close until the very end.</description></item><item><title>RE: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#56489</link><pubDate>Sat, 11 Oct 2003 21:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:56489</guid><dc:creator>Rob Mensching</dc:creator><description>Wow. I'm at a loss for words. Wow, Siew Moi. Thank you for sharing that.</description></item><item><title>RE: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#56490</link><pubDate>Tue, 14 Oct 2003 18:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:56490</guid><dc:creator>Scott Galloway</dc:creator><description>Wonder if they were searching for &amp;quot;Orcas&amp;quot; V.Next.Next Visual Studio?</description></item><item><title>RE: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#56491</link><pubDate>Wed, 15 Oct 2003 07:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:56491</guid><dc:creator>Peter Provost</dc:creator><description>I was one of those who searched for orca.exe in the last week. But what I was really looking for was anything about ObjectSpaces. I found a page [1] that seemed to have what I was looking for, but alas everything has been pulled.

I guess I have to wait... :)

[1] http://my.execpc.com/~gopalan/dotnet/object_spaces/installing_os.html</description></item><item><title>RE: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#56492</link><pubDate>Fri, 17 Oct 2003 21:32:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:56492</guid><dc:creator>Jim Geurts</dc:creator><description>Perhaps I'm missing something, but it doesn't appear as though there is a separate contact page. 

Anyway, I'm curious about how MSI stores table definitions.  I thought that it occurred via the _Validation table, but recent events proved me wrong.  I wrote most of the functionality for the msi/msm tasks (http://nantcontrib.sf.net) for NAnt and one of the features that I provided was the ability to add &amp;quot;custom tables.&amp;quot;  In order to add a &amp;quot;custom table,&amp;quot; I generate an IDT file and import it into the MSI database.  Can you explain how MSI keeps track of table definitions, etc and why there is a _Validation table, if it is not used internally by MSI.  </description></item><item><title>RE: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#56493</link><pubDate>Sun, 09 Nov 2003 07:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:56493</guid><dc:creator>Robert</dc:creator><description>Jim,

I don't know for sure but perhaps this will help...

When was reading the MSI.SDK for MsiDatabaseGetPrimaryKeys (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/msidatabasegetprimarykeys.asp) I found this line...

This function cannot be used with the _Tables table or the _Columns table.

_Tables link: http://msdn.microsoft.com/library/en-us/msi/setup/_tables_table.asp
_Column link: http://msdn.microsoft.com/library/en-us/msi/setup/_columns_table.asp

Hope that helps,
Robert</description></item><item><title>RE: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#56494</link><pubDate>Tue, 11 Nov 2003 05:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:56494</guid><dc:creator>Glen T</dc:creator><description>Ya gotta love Google. Search for 'orca.exe' and you end up talking to the author in 2 minutes flat!

So, Robert, is there anyway of getting a free-standing version of ORCA that doesn't involve installing the whole SDK? I only want it to debug .msi files generated by InstallShield Express. : )

Best Regards,
Glen T.</description></item><item><title>RE: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#56495</link><pubDate>Thu, 13 Nov 2003 22:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:56495</guid><dc:creator>Rob Mensching</dc:creator><description>I don't know if you want Robert or me (Rob, just Rob) but the answer is you can technically get orca.exe running without using the MSI.  

Before I say how, I need you to do two things:
1.  Be sure to go back and read the EULA to ensure sure you don't do anything that violates it (I can't imagine this would).
2.  Realize that if this doesn't work or if something changes in the future and this alternative quits working that we (i.e. people that work on tools like Orca) will not necessarily do more work to keep this alternative alive.

In other words, you're on unsupported ground.  Now, if you're willing to accept that, then to get orca running you just need to copy the orca.exe and the orca.dat file to the same directory.  Actually, you can specify the &amp;quot;-s&amp;quot; switch on the command line and put the &amp;quot;orca.dat&amp;quot; file anywhere you want.

Note, that validation and merging of modules will not work unless you run setup.  Validation and merging is accomplished using COM objects (I'm sorry, that's my fault... maybe I'll blog about that one day) and they require setup to run to get everything configured.

However, if you just want a light weight table editor, nothing beats copying orca.exe and orca.dat to a network share and running it from there.  I do this *all* the time.  &amp;lt;grin/&amp;gt;</description></item><item><title>RE: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#56496</link><pubDate>Mon, 17 Nov 2003 23:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:56496</guid><dc:creator>Brett</dc:creator><description>Speaking of Orca, I tried to perform ICE validations like Orca does but using VB6 ( I know, I am lost in an ancient world). I assume that Orca does a msiSetInternalUI to None and a msiSetExternalUI to an inbuilt procedure to capture the output. I tried redirecting the msi messages from the ICEs using msiSetExternalUI but it didn't want to work (using AddressOf ProcName to redirect the UI to my internal proc). So I tried writing to a log file using  msiEnableLog, but with InternalUI set to None no warnings or errors are written to the log. Does msiProcessMessage require the UI level to be at least Basic before messages are written to the log (in which case the default UI handler also writes a message dialog to the screen for each message (info, error, warning)). Or is there some other function I need to use with no UI but still be able to capture the ICE messages?</description></item><item><title>Inside the MSI file format.</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#70512</link><pubDate>Tue, 10 Feb 2004 12:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:70512</guid><dc:creator>when setup isn't just xcopy</dc:creator><description>Take a tour of the MSI file format.</description></item><item><title>Wix Nixes Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#108160</link><pubDate>Tue, 06 Apr 2004 06:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:108160</guid><dc:creator>K. Scott Allen's Blog</dc:creator><description /></item><item><title>Checking in on the Windows Installer XML (WiX) toolset development environments.</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#132139</link><pubDate>Fri, 14 May 2004 21:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:132139</guid><dc:creator>when setup isn't just xcopy</dc:creator><description>Imagine a blog entry where I go back out to SourceForge and take a peek at all the projects that appear to be building a development environment for the Windows Installer XML toolset.</description></item><item><title>Checking in on the Windows Installer XML (WiX) toolset development environments.</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#132166</link><pubDate>Fri, 14 May 2004 22:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:132166</guid><dc:creator>when setup isn't just xcopy</dc:creator><description>Imagine a blog entry where I go back out to SourceForge and take a peek at all the projects that appear to be building a development environment for the Windows Installer XML toolset.</description></item><item><title>re: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#145051</link><pubDate>Mon, 31 May 2004 20:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:145051</guid><dc:creator>Gordon</dc:creator><description>What I am interested in is how orca works so quickly and why this information is not available in the SDK?&lt;br&gt;To use the interface provided, MsiOpenDatabase, MsiDatabaseOpenView and ViewExecute, etc, iterating around getting every record is soo much slower than orca?</description></item><item><title>re: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#145091</link><pubDate>Mon, 31 May 2004 22:33:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:145091</guid><dc:creator>Rob Mensching</dc:creator><description>Orca uses those very APIs for all of its work.  There are no other APIs to get data out of an MSI file.  Orca isn't using any undocumented APIs.</description></item><item><title>re: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#148096</link><pubDate>Fri, 04 Jun 2004 01:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:148096</guid><dc:creator>Aaron Jack</dc:creator><description>Rob,&lt;br&gt;&lt;br&gt;First of all, thank you for Orca. It's a great tool. However, I have a question that I can't seem to find the answer to regarding orca. If this isn't the place, feel free to tell me so.&lt;br&gt;&lt;br&gt;Anyway, in theory orca can load merge modules from the command line. Great. However, I can't seem to get it to load cabs embedded in merge modules.&lt;br&gt;&lt;br&gt;I use a commandline like so:&lt;br&gt;&lt;br&gt;orca.exe -q -m &amp;lt;mmodule_path&amp;gt; -f &amp;lt;feature_name&amp;gt; &amp;lt;msi_file_path&amp;gt;&lt;br&gt;&lt;br&gt;This loads the merge module information into the msi perfectly, but the embedded cab seems to be lost in the void. The file table has been correctly changed, but the media table has been been modified such that the merge module files are now included another cabinet(given the index).  However, they have not been added to the cab, and installation will inevitably fail if the merge module's components are requested. I would be eternally grateful for your thoughts and or suggestions.&lt;br&gt;&lt;br&gt;PS. If you happen to know John Lambert or Dave Monk (fellow Microsofters), give them my regards. </description></item><item><title>re: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#148182</link><pubDate>Fri, 04 Jun 2004 05:56:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:148182</guid><dc:creator>Rob Mensching</dc:creator><description>Aaron,&lt;br&gt;&lt;br&gt;I think if you give Orca the -x switch it will extract the files from the Merge Module cabinet but you're going to have to do the Media table updates yourself.  My suggestion is to look at a more feature rich authoring environment.  I'm biased, but the WiX toolset (&lt;a target="_new" href="http://wix.sourceforge.net"&gt;http://wix.sourceforge.net&lt;/a&gt;) is my personal favorite.</description></item><item><title>re: The story of Orca</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#454039</link><pubDate>Sat, 20 Aug 2005 17:53:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:454039</guid><dc:creator>Hristo</dc:creator><description>I search for orca.exe but its not easy to get the file, and MS platform SDK is broken. &lt;br&gt;&lt;br&gt;Some stupid developer put a vbs script in the msi to check OS version and fail if a version is newver than 2000 (for one component mdac 2.6) . Tmp files extracted during setup all install just perfect - no windows vesrion problem even with the abovementioned mdac.. stupid developers.</description></item><item><title>Creative Commons Add-in's Office XP PIA - Detecting Office XP Parts</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#681264</link><pubDate>Fri, 28 Jul 2006 11:13:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:681264</guid><dc:creator>Rob Mensching Openly Uninstalled</dc:creator><description>Imagine a blog entry where I talk about the TypeLib detection required by the Office XP PIA install.</description></item><item><title>Thursday Night &amp;amp;quot;Deployment Dinner Discussions&amp;amp;quot; with Carolyn Napier.</title><link>http://blogs.msdn.com/robmen/archive/2003/10/11/the-story-of-orca.aspx#765736</link><pubDate>Fri, 22 Sep 2006 09:09:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:765736</guid><dc:creator>Rob Mensching Openly Uninstalled</dc:creator><description>Imagine a blog entry where Jenny and I host Carolyn Napier and Steve Lesser at another Thursday Night &amp;amp;quot;Deployment Dinner Discussion&amp;amp;quot;.</description></item></channel></rss>