Hmm, am I going to have to access these via a C++ component or homemade
wrapper, or is there an existing .net wrapper?
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Jason
Ginchereau
Sent: Wednesday, July 23, 2008 2:55 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Where are binaries in MSIs from WiX?
All binary streams including the hidden streams can be accessed from code
via the _Streams table:
http://msdn.microsoft.com/en-us/library/aa372919.aspx
Orca doesn't show it, but the table is queryable with MSI SQL like any other
table.
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Jason Brenton
Sent: Wednesday, July 23, 2008 1:46 PM
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Where are binaries in MSIs from WiX?
Can these streams be accessed from an extension dll/customaction? It could
give some real convenient features and full installer control that way.
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Alan Sinclair
Sent: Wednesday, July 23, 2008 2:44 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Where are binaries in MSIs from WiX?
Is there any other way to get the .cab out of the .msi? (I know about
NTFS file streams, but this must be something else.)
Unfortunately dark gets an exception when extracting the files from our
MSI, and even from the Wix-3.0.4318.0.msi. It's ok without the /x
option. This is dark.exe version 2.0.5805.0 (from both WiX 2 and WiX 3
(not the latest WiX 3))
Is it useful/appropriate to submit this as a bug? I'm guessing it's
maybe something specific to my WiX installation, because presumably dark
is working for other people. This is what dark says:
F:\b2\depot\dev\alan\ctxprodcodes\temp
dark /x f:\bin Wix-3.0.4318.0.msi wix.xml
Microsoft (R) Windows Installer Xml Decompiler Version 2.0.5805.0
Copyright (C) Microsoft Corporation 2003. All rights reserved.
Wix-3.0.4318.0.msi
dark.exe : error DARK0001 : Could not find file
'f:\bin\extract\1\lt0x6ngl.con'.
Exception Type: System.IO.FileNotFoundException
Stack Trace:
at System.IO.__Error.WinIOError(Int32 errorCode, String
maybeFullPath)
at System.IO.File.InternalCopy(String sourceFileName, String
destFileName, Boolean overwrite)
at
Microsoft.Tools.WindowsInstallerXml.Decompiler.ProcessFileTable(XmlWrite
r writer, String component, String keyPath, String componentPathShort,
String componentPathLong)
at
Microsoft.Tools.WindowsInstallerXml.Decompiler.ProcessComponentRecord(Xm
lWriter writer, String directory, String rootPathShort, String
rootPathLong, Record record)
at
Microsoft.Tools.WindowsInstallerXml.Decompiler.ProcessComponentTable(Str
ing directory, String rootPathShort, String rootPathLong)
at
Microsoft.Tools.WindowsInstallerXml.Decompiler.ProcessDirectoryTable(Xml
Writer writer, String parent, String parentPathShort, String
parentPathLong)
at
Microsoft.Tools.WindowsInstallerXml.Decompiler.ProcessDirectoryTable(Xml
Writer writer, String parent, String parentPathShort, String
parentPathLong)
at
Microsoft.Tools.WindowsInstallerXml.Decompiler.ProcessDirectoryTable(Xml
Writer writer, String parent, String parentPathShort, String
parentPathLong)
at
Microsoft.Tools.WindowsInstallerXml.Decompiler.ProcessProductElement(Boo
lean writeDocumentElements)
at Microsoft.Tools.WindowsInstallerXml.Decompiler.Decompile(String
inputPath, String outputPath)
at Microsoft.Tools.WindowsInstallerXml.Tools.Dark.Run(String[] args)
Thanks
-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Bob Arnson
Sent: Wednesday, July 23, 2008 7:32 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Where are binaries in MSIs from WiX?
Alan Sinclair wrote:
In the past I've found CAB files in the MSI's Binary table, and used
Orca to extract the CAB, then used Windows Explorer to get at the
contents. But the MSIs produced by the WiX toolset on a project I've
inherited don't have a CAB visible anywhere. The binaries are
definitely inside the MSI, though --the Wise Installation Studio
manages to extract
them-- so how do I get at them?
Embedded cabs are stored as a stream in the .msi. You can use the Dark
tool in WiX (or admin installs) to extract the files.
Also, MSIs I've worked with before can be installed in Admin mode
(msiexec /a ...) but with these MSIs, there's only a Finished
dialog, and it took me a while to find that the files had been
installed to Y:\ What do I need to do to make Admin installs
manageable from a WiX MSI?
The built-in UI doesn't have support for admin-image directory
selection, but you can use the command line to specify properties like
TARGETDIR.
--
sig://boB
http://joyofsetup.com