Re: [WiX-users] Where are binaries in MSIs from WiX?

2008-07-23 Thread Jason Brenton
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/




-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK  win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

-
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK  win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100url=/
___
WiX-users mailing list

Re: [WiX-users] Where are binaries in MSIs from WiX?

2008-07-23 Thread Jason Brenton
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