Merging setup.exe with MSI/EXE

Add-in Express™ Support Service
That's what is more important than anything else

Merging setup.exe with MSI/EXE
 
SilverStr




Posts: 28
Joined: 2013-03-31
Building on Windows 8 using Visual Studio 2012, I have installed WiX so I can build my BHO. I would like to ship a single installer exe and not sure what is the right way to go about it.

I can setup the WiX project to generate an EXE, but it still produces the setup.exe which does the pre-req check I believe. Is there any way to merge that logic? Or is there a way to only ship the WiX exe and be done with it?

Basically I want one link on a particular web page to drive the installation of the BHO. I'd prefer a single exe. What is the best way to accomplish that?

Dana
Posted 14 Jul, 2013 21:58:28 Top
Andrei Smolin


Add-in Express team


Posts: 14137
Joined: 2006-05-11
Hello Dana,

I suppose this is possible but you need to find this out yourself as we don't provide support for WiX. Please refer to the manual, see http://wixtoolset.org/.

Will you update the BHO using ClickTwice? If so, it requires using separate setup.exe and .MSI.

Regards from Belarus (GMT+3),

Andrei Smolin
Add-in Express Team Leader
Posted 15 Jul, 2013 02:25:36 Top
SilverStr




Posts: 28
Joined: 2013-03-31
I would hope you have SOME support for WiX, since your wizard automatically built the WiX project to support the deployment project. I am not asking for support on how to use WiX, past understanding what you need / require to provide the deployment.

I will not be using the ClickTwice technology. Most of our customers use Active Directory Software Distribution Policies and will force updates anyways, will use System Center, or offer it via InTune.

Hence why I need a single, clean EXE.

So what is the purpose of the setup.exe then that is included in the deployment? Do I even need it? Do you plumb in the proper plugin registration and prereqs in the WiX project?
Posted 15 Jul, 2013 19:51:45 Top
Andrei Smolin


Add-in Express team


Posts: 14137
Joined: 2006-05-11
Hello,

Hope you understand that supporting a feature provided by any installation software including Visual Studio, WiX or InstallShield doesn’t directly refer to the add-in development and deployment. This requires efforts and resources that we just don't have.

MSI is a database file. Note that you can install a given MSI using MSIEXEC.EXE which is native bootstrapper for .MSI. As to setup.exe, below is a rather long citation from http://msdn.microsoft.com/en-us/library/h4k032e1.aspx:

To ensure that your application will install and run successfully, you must first ensure that all components upon which your application is dependent are already installed on the target computer. For example, most applications created by using Visual Studio have a dependency on the .NET Framework; the correct version of the common language runtime must be present on the destination computer before the application is installed.

You can select these prerequisites in the Prerequisites Dialog Box and install the .NET Framework and other redistributables as a part of your installation. This practice is known as bootstrapping. Next, Visual Studio generates a Windows executable program named Setup.exe, also known as a bootstrapper. The bootstrapper is responsible for installing these prerequisites before your application runs. For more information about selecting these prerequisites, see Prerequisites Dialog Box.

Each prerequisite is a bootstrapper package. A bootstrapper package is a group of directories and files that contain manifest files that describe how the prerequisite should be installed. If your application prerequisites are not listed in the Prerequisite Dialog Box, you can create custom bootstrapper packages and add them to Visual Studio. Then you can select the prerequisites in the Prerequisites Dialog Box. For more information, see Creating Bootstrapper Packages.


A bootstrapper is also used to elevate permissions when installing per-machine programs such as BHO.

In ClickTwice, setup.exe is generated to install prerequisites and to download the program (called downloader), which downloads and installs the .MSI. We've described this in the section "Files Generated by ClickTwice", please see the PDF file in the folder {Add-in Express}\Docs on your development PC.

SilverStr writes:
Do you plumb in the proper plugin registration and prereqs in the WiX project?


The plugin is registered by running adxregistrator.exe with proper parameters. As to prerequisites, you need to add them yourself.

Unfortunately, I don't even know whether this is possible to create a single-EXE installer using WiX. Our guys doubt that this is possible. I've tried googling but I didn’t succeed. I referred you to their manual because I don't know any other resources that can be helpful. Sorry.

I've read about using a self-extracting archive file holding setup.exe and .MSI; you are supposed to set the self-extractor so that the setup.exe is started automatically after you run the archive.

Regards from Belarus (GMT+3),

Andrei Smolin
Add-in Express Team Leader
Posted 16 Jul, 2013 02:19:00 Top
SilverStr




Posts: 28
Joined: 2013-03-31
So I have had a chance to talk with the guys working on WiX and they say it is easy to have BHO install with a single MSI/EXE with WiX. The issue we are having is actually related to how the adxregistrator is working, and not handling the elevation nicely. No one is sure why at this point.

The recommendation is to figure out what exactly adxregistrator is doing and mimic that in the WiX project itself. This will ensure that the results of the registration are handled correctly and in the right elevated context.

I have opened a different thread to share that information in this forum. My hope is that through my trial and error and the Add-In Express folks support, I can help the entire Add-In Express community by creating the appropriate WiX based commands in the Product.wxs so this can be resolved once and for all. Since Visual Studio 2012 and newer don't have a normal setup project methodology anymore (and InstallShield Lite is a piece of cr*p) we are all going to see a lot more WiX projects going forward.

So anyone with experience with adxregistrator feel free to help out on the thread "Is there any special documentation on exactly what adxregistrator.exe is doing?". That is where I will be continuing this research.
Posted 17 Jul, 2013 10:51:30 Top
Andrei Smolin


Add-in Express team


Posts: 14137
Joined: 2006-05-11
Hello,

SilverStr writes:
So I have had a chance to talk with the guys working on WiX and they say it is easy to have BHO install with a single MSI/EXE with WiX


Thank you for posting this here!

SilverStr writes:
The issue we are having is actually related to how the adxregistrator is working, and not handling the elevation nicely. No one is sure why at this point.


Can you please provide more details about the issue?

What adxregistrator.exe performs is described in the manual, see the section "How Your Office Extension Is Registered". My understanding is that this is a wrong direction, however. Please describe why you think the registrator works incorrectly, and we will try to find a salution.

Regards from Belarus (GMT+3),

Andrei Smolin
Add-in Express Team Leader
Posted 18 Jul, 2013 10:44:43 Top
SilverStr




Posts: 28
Joined: 2013-03-31
Hey Andrei,

I can definitely provide more details. I have already done so in the other thread. I would like to keep all the technical discussion there so others in the community can follow one thread.

Appreciate your support in this manner. Hopefully we will have a clean solution soon.

Regards,
Dana
Posted 18 Jul, 2013 14:04:28 Top
Andrei Smolin


Add-in Express team


Posts: 14137
Joined: 2006-05-11
Hello All,

The "other thread" mentioned by Dana is Is there any special documentation on exactly what adxregistrator.exe is doing?

Hello Dana,

Thank you.

Regards from Belarus (GMT+3),

Andrei Smolin
Add-in Express Team Leader
Posted 19 Jul, 2013 02:01:15 Top