single installation experience for application and bootstrapper in wix - windows

hii,
i made a bootstrapper for my msi to check and install the prerequisites..and when i click the
setup.exe file it smoothly check and install..there is no problem in it..
*)For now i use GenerateBootstrapper and bootstrapperFile to create bootstrapper.
But my problem is this that when the prerequisite are installed they use there own install window.but i want to provide single installation feel..
i want to run every prerequisite file in my own customized UI ..
i want to customize the Ui of them.How can i do this?? can anyone help me out??
thanks.

as far as I can tell currently there is no way of doing it with wix only.
Butwix3.5 should contain sth called Burn http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn

Related

MSI CustomActions generated by VisualStudio how to understand MSI table

I desperately trying to convert .vdproj proj. into wix project, with same custom actions(reason is that i dunno exactly what all is installation supposed to do) - right now confused about this:
/installtype=notransaction /action=install /LogFile= /sd="[SourceDir]\" /td="[TARGETDIR]\" /cf=[CF] "[#_DF75DCA6_84B6_7B49_8F15_EAEE08D32EA4]" "[VSDFxConfigFile]"
No idea what [VSDFxConfigFile], and missing overall picture what is behind this Custom action generated by Visual Studio in WinService project.
If anyone give me clue about PROCESS i would highly appreciate it!
Update:
today i discussed installer requirements and one which is known among collegues is that it should be able to change .config file according to parameters - XML has whole configuration element tree in it - and it should replace installed .config file - i just wonder if there is direct way to accomplish this in WIX
Moreover - .vdproj files already has some custom actions in it(which i guess aren't standard custom actions) - which calls some dll lib .NET installer component - which i guess changing .config according to parameters, but way it is happening isn't really clear to me. I used ORCA and MSI logs, however i still feel like Alice in world of dreams. Well thing is that also i'm unable to say what all parts of code called so that's why i still thinking call all CustomActions which are generated in msi file throught vdproj
Ignore all that stuff. it's related to managed code custom actions, and managed code custom actions don't use the same framework in WiX - they use DTF. VS setups put several custom actions in that you don't need to worry about, such as checking for the NET Framework. So it's going to be pointless trying to transfer internal VS custom actions (because WiX has its own that do similar things) and because your managed code custom actions won't use the same framework of installer classes, Install methods etc.
VS setup projects install services with Installer classes, and WiX doesn't use those either - there's no reason to, because Windows Installer has built-in support for installing/starting/stopping services, so if your manage code is realted to that then again, ignore it.
p.s. This may be useful:
http://blogs.technet.com/b/alexshev/archive/2008/02/10/from-msi-to-wix.aspx

Is it possible to detect if help file is contained in the setup file (msi or exe)?

I would like to know how can I detect if help file is contained in setup file for windows platform application (msi or exe). Is there any method to get this information without installing the software first ?
Of course setup file can be created by many setup makers like innosetup, installshield and so on. So I wonder if there is some universal method to solve this.
For an MSI based install it would be very easy. For example you can use the Microsoft.Deployment.WindowsInstaller interop via C# to open the MSI as an InstallPackageClass then access it's Files collection to see if it contains the file you care about.
For a Non-MSI based install, there is no universal way and in most cases, no way period. See, that's kind of the point of MSI: to have a standards based package rich in meta data to be able to see what it's doing. When you do some proprietary script driven installer you lose that openness.
If it's a MSI file, open it up using Orca, and you can view file names.
For both of them, you should be able to do an administrative install, which would extract the files, but not register anything. Depending on where the exe came from, doing an administrative install changes, since each vendor(installshield, innosetup, etc) has their own way to run an administrative install.
for a MSI it's simply
msiexec /a <msi_filename>
For an exe you'll have to look up how to pass the /a argument.

Windows oriented setup to deploy one file

I would like to build a setup, or something like that (1 file), to deliver a single file to a target system. Plugin for an application, installable to users AppData folder.
After some research I'm still not sure in which direction to look. I can create the setup project with Visual Studio 2010, but all of the options so far seem to be way too heavy or have some flaws.
SetupProject stubbornly wants to create an application folder which I don't need, and complains about installation to user folder. Cab doesn't seem to offer automatic install, oneclick is not available for the project, etc.
Is there an easier setup technology I could use?
Requirements:
Install -> Copy 1 file to a folder
under %userprofile%\3rdpartyapp\ if
it exists (xcopy).
Uninstall -> Delete the file and also
one folder with custom settings
(rmdir \s).
Distribution -> Free for commercial
use.
Maybe I should just pack the file in self extracting c++ exe?
It may be overkill for one file, but I like InnoSetup for creating setup packages. Check it out, and see if it suits you. It is very easy to use and deploy.
Take a look at WiX toolset. It allows creating MSI-based installers, and the installer could be quite simple:
Search for %userprofile%\3rdpartyapp;
Copy the file into it, if it exists;
Fail install or maybe create it, if it does not exist.
Uninstall would be very simple: it would need to remove the installed file. To remove a subfolder of 3rdpartyapp, you can use RemoveFolderEx element.
MSI registers the installed app with Add/Remove Programs Control panel. Uninstall is handled by Windows Installer service, therefore you don't need to copy any additional files or programs to support uninstall.
I think any setup technology is too heavy for one file. I'd go with creating a simple application that would extract the file from its resources stream and copy it into %userprofile%\3rdpartyapp.
Uninstall is trickier: there should be something that can handle the uninstall process. It could be a batch or script (js, vbs) file stored somewhere in user's profile, another simple application or the same one. (Installation process can also be handled with a script.)

Create installation (.msi) from .exe file

I have Java application, export to runnable .jar and then convert that .jar file to .exe file.
I need to create installation for windows ( .msi file ). Can anybody suggest me good program ( easy add icon and other settings ) for that task ?
Taken literally there is no such thing as an EXE to MSI 'converter'. What you are probably trying to ask for are repackagers.
Repackaging Applications For Distribution
Now that you've revised your question, you don't need to repack an existing EXE based installer, you just need to create an installer. This is an exact duplicate of
How can I create a .msi file for a Java program ?
The best program I know for that is Installshield, is not the only program but you can custom everything.
If you would like to research a little bit you have a list here
http://en.wikipedia.org/wiki/List_of_installation_software
I can recommend you this website: EXE to MSI Repackaging Knowledge Base. I has few articles that explain how to repackage EXE to MSI.
Not a converter, but you may want to take a look at Stall. It's an OSS project that lets you install your app via the command line, without having to configure anything.
Disclaimer: I wrote it. Please enjoy!

How to embedded msi into a setup.exe and execute it silently?

Here's the requirement:
1. One single installation file. (aka. setup.exe) All the other files include the required dlls and msi itself must embedded in this setup.exe.
2. Frameless UI, which the pure msi doesn't support.
Firstly, we are using pure msi to provide the installation GUI, but then we found it's not support the frameless GUI. So we want to keep the single file and make our own frameless GUI.
Anyone has any ideas?
You'll need to impliment an external UI handler.
You might find some of the links on http://blogs.msdn.com/windows_installer_team/archive/2005/07/23/442584.aspx as a helpful starting point.

Resources