Sounds like you need to write your own UX/BA.  You shouldn't depend on a CA 
"securing" an install, as there are several tools out there that would make it 
easy to modify and remove said check.  You could base your UX off of WixStdBA 
(C++), or you could write a managed one (.Net).  If you clone the Wix 
repository, you will see examples of both. (WixStdBA = 
\src\ext\BalExtension\wixstdba, WixBA = \src\Setup\WixBA)

Once you have your own BA, you can use the numerous callbacks to customize the 
install based on the serial number entered.  The most likely candidate would be 
OnPlanPackageBegin.


-----Original Message-----
From: DavidH [mailto:david.hessel...@imint.se] 
Sent: Monday, July 01, 2013 8:03 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Download packages only if custom action returns some value

I want to make an installer that lets the user enter a key, which is then 
evaluated by a custom action. Depending on the result of this evaluation, the 
installer should download a set of MSI's from a remote location and install 
them with no further action from the user. As far as I know, in order to run 
installers without UIs, I have to use a Bootstrapper application, or the user 
will end up having to click "next" a whole lot.

The problem is, the Bootstrapper application has no support for custom actions 
or custom dialogs, so I'd have to put the license key dialog in a separate MSI 
that goes in my Bootstrapper chain, but then that separate MSI will be run in 
its own window instead of as part of the Bootstrapper application, which looks 
bad. And even then, I don't know of any way I can pass the results from this 
separate MSI back into the Bootstrapper application, so that it knows which 
MSI's in the rest of its chain to download. I know it's possible to pass 
variables from the Bootstrapper application into MSIs as MsiProperties, but I 
don't think the opposite is true.

Another option is to have the key be appended to the download URLs for the 
packages, and let the server decide whether the installer should be allowed to 
download the package. This would eliminate the need for a custom action, but 
I'd still need a custom dialog for entering the key, and some way of passing 
this key back into the Bootstrapper application.

Yet another option is to instead have the MSI that contains the custom dialog 
call the Bootstrapper application and pass it variables containing the key, or 
which packages to download, but I don't think that's possible either. And even 
if it is possible, it would again result in two installation windows since the 
Bootstrapper application can't be run without a UI of its own.

Is there a recommended way, or any way at all, of doing what I'm trying to do?



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Download-packages-only-if-custom-action-returns-some-value-tp7587032.html
Sent from the wix-users mailing list archive at Nabble.com.

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to