Hi All,
I have an executable setup.exe with a bunch of files accompanying it.
What I need to do, is to embed it into a single package (I don't have
sources for the other setup project, so I can't simply rebuild that
installer into one package). Basically what I need, is a
self-extracting archive that launches "setup.exe" after extraction and
cleans after itself (I'm aware that my approach violates a bunch of
good practices, but single-file installer is a must-have for me).
For now I'm using an .msi built from a Setup Project in Visual
Studio'08: I simply added custom actions for install and uninstall
which launch setup.exe with appropriate switches. The problem is -
now, upon installing, I have 2 entries in "Add/Remove programs",
another folder with setup files that are no longer needed, etc. That's
why I'd like to customize my .msi a little to make it a simple wrapper
- not exactly a full installer. What I expect of this installer is to:
1) Extract underlying setup.exe (and other needed files) to a
temporary location (show only a progressbar while extracting, or no
GUI at all)
2) Run setup.exe with the command line parameters as provided to wrapping MSI
3) Leave no trace in the system (that is: do not create an entry in
Add/Remove Programs, remove temporary installation dir and so on.
Note that none of extracted files would be ever needed, as
embedded setup will install to user-selected location and have its own
uninstall routines.
In simple words: I'd like the app to cleanly "uninstall" itself
right after installing (only custom action result shall persist).
I've switched to WIX Toolkit, since AFAIK creating such a setup with
MS VStudio Setup Project is not possible. What I already have is an
GUI-less installer that extracts its content files to temp dir and
launches setup.exe as a custom action.
Questions I have:
1. How to pass multiple commandline switches to setup.exe?
2. How to delete destination directory upon execution of setup.exe?.
I tried a VBS script (as below) - It's not willing to work ;)
3. What to do to remove any trace (despite custom action result - as
above) of install on setup exit?
Thanks in advance,
Mateusz
-------------------------------------------------------------------------------------
Outline ot the wix file I have so far (I've ommited some not relevant
elements and attributes):
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product>
<Package InstallerVersion="200" Compressed="yes" />
<Media Id="1" Cabinet="MyInstaller.cab" EmbedCab="yes" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="TempFolder">
<Directory Id='INSTALLLOCATION' Name='MyInstaller'>
<!--COMPONENTS HERE-->
</Directory>
</Directory>
</Directory>
<Feature Id="ProductFeature" Level="1"> <!--COMPONENT REFS HERE-->
</Feature>
<CustomAction Id="LaunchSetup" FileKey="setup.exe"
ExeCommand="[SETUPPARAMS]" Execute="immediate" Return="ignore"
HideTarget="no" Impersonate="yes" />
<Binary Id='RemoveUnpackDir.vbs' SourceFile='RemoveUnpackDir.vbs' />
<CustomAction Id="RemoveUnpackDir" BinaryKey="RemoveUnpackDir.vbs"
VBScriptCall="RemoveUnpackDir" Return="check"/>
<InstallExecuteSequence>
<Custom Action='LaunchSetup' After='InstallFiles'></Custom>
<Custom Action='RemoveUnpackDir' After='LaunchSetup'></Custom>
</InstallExecuteSequence>
</Product>
</Wix>
-------------------------------------------------------------------------------------
VBS script to delete target dir (not working :))
'RemoveUnpackDir.vbs scriptFunction RemoveUnpackDir()
RemoveUnpackDir = 3
Set oFSO = CreateObject("Scripting.FileSystemObject")
oFSO.GetFolder(Session.Property("INSTALLLOCATION")).Delete(True)
RemoveUnpackDir = 1 'return success
End Function
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users