Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

How to compress all cabinet to a single setup.exe?

1 view
Skip to first unread message

idiot

unread,
Oct 19, 2006, 10:40:13 PM10/19/06
to
How can I compress all cabinet files and msi file into a single setup.exe?


Christopher Painter

unread,
Oct 19, 2006, 10:56:12 PM10/19/06
to

idiot wrote:
> How can I compress all cabinet files and msi file into a single setup.exe?

What you are describing is a self-extracting bootstrapper. Various
vendors such as InstallShield support this or you could do something as
simple as a WinZip self extracting archive.

Richard [Microsoft Windows Installer MVP]

unread,
Oct 19, 2006, 10:54:56 PM10/19/06
to
[Please do not mail me a copy of your followup]

"idiot" <zen...@21esn.com> spake the secret code
<eGVTUE$8GHA...@TK2MSFTNGP03.phx.gbl> thusly:

>How can I compress all cabinet files and msi file into a single setup.exe?

It depends on what you are using to build your MSI.
--
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://www.xmission.com/~legalize/book/download/index.html>

idiot

unread,
Oct 19, 2006, 11:09:50 PM10/19/06
to
> It depends on what you are using to build your MSI.

ORCA


Richard [Microsoft Windows Installer MVP]

unread,
Oct 20, 2006, 12:21:31 AM10/20/06
to
[Please do not mail me a copy of your followup]

"idiot" <zen...@21esn.com> spake the secret code

<OV2U3U$8GHA...@TK2MSFTNGP03.phx.gbl> thusly:

>> It depends on what you are using to build your MSI.
>
>ORCA

You'll have to write your own self-extractor then if you want a single
setup.exe. The SDK has one.

However, you can embed CABs in the MSI ... I think you can even do
this with Orca, but I know there is a tool in the SDK to do it for you
if Orca doesn't do it. Basically the CAB gets stored as an embedded
stream.

Jeff Henkels

unread,
Oct 20, 2006, 7:53:32 AM10/20/06
to
"Richard [Microsoft Windows Installer MVP]"
<legaliz...@mail.xmission.com> wrote in message
news:%23U7V58$8GHA...@TK2MSFTNGP02.phx.gbl...

> [Please do not mail me a copy of your followup]
>
> "idiot" <zen...@21esn.com> spake the secret code
> <OV2U3U$8GHA...@TK2MSFTNGP03.phx.gbl> thusly:
>
>>> It depends on what you are using to build your MSI.
>>
>>ORCA
>
> You'll have to write your own self-extractor then if you want a single
> setup.exe. The SDK has one.
>
> However, you can embed CABs in the MSI ... I think you can even do
> this with Orca, but I know there is a tool in the SDK to do it for you
> if Orca doesn't do it. Basically the CAB gets stored as an embedded
> stream.

Orca will certainly let you add/extract/replace CABs referenced in the MSI
Cabs table; just double-click on the [Binary Data] cell in the appropriate
row. You can use the SDK's CABWIZ.EXE to create/modify the CAB. The
double-click trick also works with files in the Binary table, FWIW.

As for a self-extractor, you could probably use the self-extracting EXE
features of WinZip/WinRAR if you're willing to pay for a license and your
install needs are simple (i.e. just extract & run the MSI).

Or you can look at the SDK example Richard mentioned; also look at the
msistuff example (it will put your MSI into the EXE created by the setup
sample). I've gone that route a couple of times, most recently using the
Cabinet and CryptUI APIs to allow the EXE & MSI to be Authenticode signed
and the MSI to be compressed before embedding it into the EXE.


idiot

unread,
Oct 23, 2006, 10:46:42 PM10/23/06
to
I stored cabinet files in the _Stream table using WiStream.vbs and set the
cabinet column in the media table. But the msi still try to locate the
cabinet files at the root source directory during intallation. Is there any
other property to set or function I must call to extract cabinet fiels
during installation?


idiot

unread,
Oct 23, 2006, 11:32:41 PM10/23/06
to
"Prefix the name with a number sign "#" if the cabinet is a data stream
stored in the .msi file."
I find it. Thanks.


"idiot" <zen...@21esn.com> 写入消息新闻
:#ud2lax9...@TK2MSFTNGP04.phx.gbl...

0 new messages