Ok, let's pretend I'm a .NET developer who doesn't know anything about MSI
and I follow you're advice of reading through WiExport.vbs to understand
the flow of exporting an IDT file.
First problem I'm going to hit is trying to add a reference to
WindowsInstaller.Installer. Last time I checked the interops (it's been
years) won't generate correctly. So I'm going to be writing all kinds of
COM Interop wrappers or worse using a ProcessInfo class to shell out of
process to the VBscript. Laugh, but I see it done all the time.
Or I can just add a reference to Microsoft.Deployment.WindowsInstaller and
write:
using(Database database = new Database("foo.msi",
DatabaseOpenMode.ReadOnly))
{
database.ExportAll(@"C:\");
}
It's really that easy and as clean as can be. For extra bonus points the
using statement will automatically call the Dispose() methods which will in
turn clean up all those pesky unmanged handles.
For the summary information stream I just say:
using( var summaryInformation = new SummaryInfo(@"foo.msi", false))
{
summaryInformation. // Intellisense kicks in .
}
I can now easily see that summaryInformation exposes Author,
CharacterCount, CodePage et al.
The point is, managed code and DTF rocks. DTF isn't just about writing
custom actions, it's an all purpose interop assembly for anything needing
to interact with Windows Installer and I find it really, really useful for
writing build automation tasks and applications / utilities. If you are
writing managed code you should be using it. If you are doing unmanged C++
then use the MSI API. If someone is still writing VBScript instead of
PowerShell and VB6 instead of C#/VB.NET I really have to scratch my head
and ask..... Why??
I'm not a "purist" I'm just pointing out the fact that the VBS files are 12
years (at least) old and were only samples. Sadly I've seen far too many
people treat them as production libraries in their solutions.
----------------------------------------
From: "Wilson, Phil" <[email protected]>
Sent: Tuesday, January 03, 2012 4:44 PM
To: "General discussion for Windows Installer XML toolset."
<[email protected]>
Subject: Re: [WiX-users] Querying the package and installed
productarchitecture
I think the sample VBScripts in the SDK are useful to the extent that they
describe the flow for folks that aren't familiar with how to use the APIs.
Exporting an MSI table with no guidance at all is a pain, but I can see
from WiExport.vbs that I open the database, do an OpenView with a Select
query, do a View fetch, and then get each record's string data.
In this particular SummaryInfo case, WiSumInf.vbs is quite instructive on
how to get the SummaryInfo for the Platform. I'm not a language purist to
the extent that I'll ignore a working example, whatever language it might
be!
Phil W
-----Original Message-----
From: Christopher Painter [mailto:[email protected]]
Sent: Friday, December 30, 2011 5:56 PM
To: [email protected]; General discussion for Windows Installer XML toolset.;
General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Querying the package and installed
productarchitecture
It's nearly 2012 and I'd much rather use C# and DTF. Perhaps in 1999 those
VBScript files were interesting and useful. I can understand the msi.h /
msi.lib is still good for the unmanaged C++ guys out there and is certainly
the foundation for DTF but the whole VBScript / ActiveScript / COM /
Automation Interface world can RIP for all I care. Same goes for the POS
Win32_Product class.
----------------------------------------
From: "Gary Gocek" <[email protected]>
Sent: Friday, December 30, 2011 7:28 PM
To: "General discussion for Windows Installer XML toolset."
<[email protected]>
Subject: Re: [WiX-users] Querying the package and installed
productarchitecture
There are tools in the Windows SDK (I am currently using v7) that can
query
an MSI database. Look especially at the vbs scripts, you can invoke them
with SQL to query properties and tables.
http://msdn.microsoft.com/en-us/library/windows/desktop/aa372865(v=vs.85).as
px
Gary
> -----Original Message-----
> From: Alex Ivanoff [mailto:[email protected]]
> Sent: Friday, December 30, 2011 11:19 AM
> To: 'General discussion for Windows Installer XML toolset.'
> Subject: Re: [WiX-users] Querying the package and installed
> productarchitecture
>
>
> I need to be able to do it programmatically.
>
>
> -----Original Message-----
> From: McCain, Jon [mailto:[email protected]]
> Sent: Friday, December 30, 2011 07:31
> To: General discussion for Windows Installer XML toolset.
> Cc: McCain, Jon
> Subject: Re: [WiX-users] Querying the package and installed product
> architecture
>
> 1. Open the install in Orca
> 2. Click View -> Summary Information
> 3. The architecture type is listed under Platform.
>
> Jon
>
> -----Original Message-----
> From: Alex Ivanoff [mailto:[email protected]]
> Sent: Thursday, December 29, 2011 6:17 PM
> To: 'General discussion for Windows Installer XML toolset.'
> Subject: [WiX-users] Querying the package and installed
> product architecture
>
> Is there a way to query the MSI package and/or installed product
> architecture (x86 vs. x64)?
----------------------------------------------------------------------------
--
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
----------------------------------------------------------------------------
--
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual
desktops for less than the cost of PCs and save 60% on VDI infrastructure
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
*** Confidentiality Notice: This e-mail, including any associated or
attached files, is intended solely for the individual or entity to which it
is addressed. This e-mail is confidential and may well also be legally
privileged. If you have received it in error, you are on notice of its
status. Please notify the sender immediately by reply e-mail and then
delete this message from your system. Please do not copy it or use it for
any purposes, or disclose its contents to any other person. This email
comes from a division of the Invensys Group, owned by Invensys plc, which
is a company registered in England and Wales with its registered office at
3rd Floor, 40 Grosvenor Place, London, SW1X 7AW (Registered number 166023).
For a list of European legal entities within the Invensys Group, please go
to http://www.invensys.com/en/legal/default.aspx.
You may contact Invensys plc on +44 (0)20 3155 1200 or e-mail
[email protected]. This e-mail and any attachments thereto may be
subject to the terms of any agreements between Invensys (and/or its
subsidiaries and affiliates) and the recipient (and/or its subsidiaries and
affiliates).
----------------------------------------------------------------------------
--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create
new or port existing apps to sell to consumers worldwide. Explore the
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users