Questions on more advanced WiX Installer UI

8 messages Options
Embed this post
Permalink
Dan Giambalvo-2

Questions on more advanced WiX Installer UI

Reply Threaded More More options
Print post
Permalink
I'm working on some enhancements to our WiX based setup UI, and wanted to know if a few things are possible using the UI components Windows Installer makes available:

1)      We have a custom action as a part of our installer that makes a web service call.  We'd like to embed in the UI a spinner that would spin during the time we are making the call.  Does such a control exist in the Windows Installer toolkit?  Can we use some type of animated gif for this purpose?

2)      We have to accept entry of a product-key type code at install.  Ideally, we'd like to add some logic so we auto-add/remove separators at the right time, don't allow invalid characters (input is Hex) etc.  Does Windows Installer have any mechanism for doing this sort of thing?

Thanks in advance for any help!
-Dan

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Rob Mensching-7

Re: Questions on more advanced WiX Installer UI

Reply Threaded More More options
Print post
Permalink
1. Not that I know of.
2. Not that I know of.

Unfortunately, to get that kind of advanced UI, you probably will have to go
to an External UI handler. Note, that is a huge leap in terms of work
necessary.

On Wed, Oct 21, 2009 at 10:53 AM, Dan Giambalvo <[hidden email]>wrote:

> I'm working on some enhancements to our WiX based setup UI, and wanted to
> know if a few things are possible using the UI components Windows Installer
> makes available:
>
> 1)      We have a custom action as a part of our installer that makes a web
> service call.  We'd like to embed in the UI a spinner that would spin during
> the time we are making the call.  Does such a control exist in the Windows
> Installer toolkit?  Can we use some type of animated gif for this purpose?
>
> 2)      We have to accept entry of a product-key type code at install.
>  Ideally, we'd like to add some logic so we auto-add/remove separators at
> the right time, don't allow invalid characters (input is Hex) etc.  Does
> Windows Installer have any mechanism for doing this sort of thing?
>
> Thanks in advance for any help!
> -Dan
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Tony-16

Re: Questions on more advanced WiX Installer UI

Reply Threaded More More options
Print post
Permalink
You might be able to use a progress bar type behavior.  That is
supported within Windows Installer.  We have a custom action that can
take a long time to finish.  We added progress bar "ticks" to the
custom action that provide feed back to the UI.  Might be worth
checking out.  Though you need to specify a "range" and then provide
ticks to indicate progress.  Not sure how that would work in an open
ended type transaction.  In our case we have hundreds of files to
process, so we use the number of files as the "range" and send a tick
message after we process each file.

--
Tony

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Rob Mensching-7

Re: Questions on more advanced WiX Installer UI

Reply Threaded More More options
Print post
Permalink
True, but the progress bar is only available during InstallExecute sequence.
My understanding was that this "spinner" needed to happen during the UI
sequence. If I misunderstood then Tony's suggestion is a good one.

On Thu, Oct 22, 2009 at 5:36 AM, Tony <[hidden email]> wrote:

> You might be able to use a progress bar type behavior.  That is
> supported within Windows Installer.  We have a custom action that can
> take a long time to finish.  We added progress bar "ticks" to the
> custom action that provide feed back to the UI.  Might be worth
> checking out.  Though you need to specify a "range" and then provide
> ticks to indicate progress.  Not sure how that would work in an open
> ended type transaction.  In our case we have hundreds of files to
> process, so we use the number of files as the "range" and send a tick
> message after we process each file.
>
> --
> Tony
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Dan Giambalvo-2

Re: Questions on more advanced WiX Installer UI

Reply Threaded More More options
Print post
Permalink
Quite right, the spinner is required during a part of the InstallUI sequence.  In considering the spinner problem, I was actually wondering if I couldn't do something super hacky like creating 16 or so bitmaps, and then in my CustomAction flipping them hidden and not in succession to create a flip-book effect.  It's not clear to me if a CA can modify the visual of Windows Installer UI in such a way that they take effect while still inside the CA.  Does anyone know if that's doable?

For the second one (key-code validation) is there any way to get an event as the value of an Edit/Property changes?  I'm guessing you already considered that, but I figured I'd ask.  

One other quick one: Is there any way to change the text size of an edit control?

Has anyone tried to building tooling to compile WiX into a MSI with a WPF front end or something like that?  It seems like nothing good comes out of trying to build installer UI in Windows Installer.  It would be nice if there was a standardized, richer UI alternative.  

-----Original Message-----
From: Rob Mensching [mailto:[hidden email]]
Sent: Thursday, October 22, 2009 8:28 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Questions on more advanced WiX Installer UI

True, but the progress bar is only available during InstallExecute sequence.
My understanding was that this "spinner" needed to happen during the UI sequence. If I misunderstood then Tony's suggestion is a good one.

On Thu, Oct 22, 2009 at 5:36 AM, Tony <[hidden email]> wrote:

> You might be able to use a progress bar type behavior.  That is
> supported within Windows Installer.  We have a custom action that can
> take a long time to finish.  We added progress bar "ticks" to the
> custom action that provide feed back to the UI.  Might be worth
> checking out.  Though you need to specify a "range" and then provide
> ticks to indicate progress.  Not sure how that would work in an open
> ended type transaction.  In our case we have hundreds of files to
> process, so we use the number of files as the "range" and send a tick
> message after we process each file.
>
> --
> Tony
>
>
> ----------------------------------------------------------------------
> -------- Come build with us! The BlackBerry(R) Developer Conference in
> SF, CA is the only developer event you need to attend this year.
> Jumpstart your developing skills, take BlackBerry mobile applications
> to market and stay ahead of the curve. Join us from November 9 - 12,
> 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>


--
virtually, Rob Mensching - http://RobMensching.com LLC
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
saschabeaumont

Re: Questions on more advanced WiX Installer UI

Reply Threaded More More options
Print post
Permalink
In reply to this post by Dan Giambalvo-2
Hi Dan,

This sounds like something similar to what we were trying to do with
our installer. The question you should ask yourself is do you need to
do this during installation, or could you move some of these steps to
a post-install phase?

What we ended up doing is for interactive installations, launching a
separate program post-install that does all the key validation and the
required webservice calls when the user presses the "Finish" button.

For corporate deployments (i.e. silent mode, no UI), certain
properties can be embedded in the MSI or provided on the command line
- if these are present we call a command line program with CAQuietExec
that does pretty much the same thing that the GUI would.

The key is further validated by the application at runtime, dropping
back into a demo mode if it can't find a license and prompting the
user to launch the "activation" GUI program.

The end result is a simpler installation that's much easier to manage,
requiring an internet connection during install can lead to a number
of problems so by separating it out the user doesn't get as confused
about why things might be failing.

Sascha

On Thu, Oct 22, 2009 at 4:53 AM, Dan Giambalvo <[hidden email]> wrote:

> I'm working on some enhancements to our WiX based setup UI, and wanted to know if a few things are possible using the UI components Windows Installer makes available:
>
> 1)      We have a custom action as a part of our installer that makes a web service call.  We'd like to embed in the UI a spinner that would spin during the time we are making the call.  Does such a control exist in the Windows Installer toolkit?  Can we use some type of animated gif for this purpose?
>
> 2)      We have to accept entry of a product-key type code at install.  Ideally, we'd like to add some logic so we auto-add/remove separators at the right time, don't allow invalid characters (input is Hex) etc.  Does Windows Installer have any mechanism for doing this sort of thing?
>
> Thanks in advance for any help!
> -Dan
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
Dan Giambalvo-2

Re: Questions on more advanced WiX Installer UI

Reply Threaded More More options
Print post
Permalink
Sascha,

Thanks for the reply.  Long term (& philosophically), I generally agree with you.  I think the idea of doing as little as possible in the installer, and pushing it instead to a branded first-run experience inside the application has a lot of benefits.  People don't like dealing with installers, and in general you have a lot more flexibility in what you can do from within the codebase of the product.  The downside of course is that windows installer then doesn't know about the things you've done, and so can't undo them to restore/maintain machine state.  You could argue the same is true for custom actions anyway, and are probably right.  But I digress.

In the short term, we do have need to do this in the installer.  Our install process currently involves some rather time-intensive tasks which we don't want the user to have to wait on IF they are only going to have to give up and go home because they don't have a key.  Undoubtedly all of this could be moved into some post-install step, but that is out of scope for where we are in our product cycle.  We're going to have to make do with what Windows Installer gives us.  Longer term, I'm hoping to move in the direction you've prescribed.  We also have a rather unique set of requirements and a pretty controlled install environment, which also helps mitigate some of the (very good) points you raise W.R.T. install-time checks like we're doing.  

Thanks again for your feedback
-Dan

-----Original Message-----
From: Sascha Beaumont [mailto:[hidden email]]
Sent: Thursday, October 22, 2009 7:16 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Questions on more advanced WiX Installer UI

Hi Dan,

This sounds like something similar to what we were trying to do with
our installer. The question you should ask yourself is do you need to
do this during installation, or could you move some of these steps to
a post-install phase?

What we ended up doing is for interactive installations, launching a
separate program post-install that does all the key validation and the
required webservice calls when the user presses the "Finish" button.

For corporate deployments (i.e. silent mode, no UI), certain
properties can be embedded in the MSI or provided on the command line
- if these are present we call a command line program with CAQuietExec
that does pretty much the same thing that the GUI would.

The key is further validated by the application at runtime, dropping
back into a demo mode if it can't find a license and prompting the
user to launch the "activation" GUI program.

The end result is a simpler installation that's much easier to manage,
requiring an internet connection during install can lead to a number
of problems so by separating it out the user doesn't get as confused
about why things might be failing.

Sascha

On Thu, Oct 22, 2009 at 4:53 AM, Dan Giambalvo <[hidden email]> wrote:

> I'm working on some enhancements to our WiX based setup UI, and wanted to know if a few things are possible using the UI components Windows Installer makes available:
>
> 1)      We have a custom action as a part of our installer that makes a web service call.  We'd like to embed in the UI a spinner that would spin during the time we are making the call.  Does such a control exist in the Windows Installer toolkit?  Can we use some type of animated gif for this purpose?
>
> 2)      We have to accept entry of a product-key type code at install.  Ideally, we'd like to add some logic so we auto-add/remove separators at the right time, don't allow invalid characters (input is Hex) etc.  Does Windows Installer have any mechanism for doing this sort of thing?
>
> Thanks in advance for any help!
> -Dan
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users
saschabeaumont

Re: Questions on more advanced WiX Installer UI

Reply Threaded More More options
Print post
Permalink
Hi Dan,

Yep, unfortunately this sort of change is something that needs to be
looked at long term - it'll take a while and be an iterative process.
Moving this sort of thing into the post-install was one of our more
recent changes, thankfully I managed to get our InstallShield-to-WiX
migration started very early in the product cycle and so was able to
get buy in from the dev team regarding application changes early on.

Fast forward 6 months and two releases later and I'm *still* tweaking
the experience based on customer feedback ;)

Sascha


On Sat, Oct 24, 2009 at 4:42 AM, Dan Giambalvo <[hidden email]> wrote:

> Sascha,
>
> Thanks for the reply.  Long term (& philosophically), I generally agree with you.  I think the idea of doing as little as possible in the installer, and pushing it instead to a branded first-run experience inside the application has a lot of benefits.  People don't like dealing with installers, and in general you have a lot more flexibility in what you can do from within the codebase of the product.  The downside of course is that windows installer then doesn't know about the things you've done, and so can't undo them to restore/maintain machine state.  You could argue the same is true for custom actions anyway, and are probably right.  But I digress.
>
> In the short term, we do have need to do this in the installer.  Our install process currently involves some rather time-intensive tasks which we don't want the user to have to wait on IF they are only going to have to give up and go home because they don't have a key.  Undoubtedly all of this could be moved into some post-install step, but that is out of scope for where we are in our product cycle.  We're going to have to make do with what Windows Installer gives us.  Longer term, I'm hoping to move in the direction you've prescribed.  We also have a rather unique set of requirements and a pretty controlled install environment, which also helps mitigate some of the (very good) points you raise W.R.T. install-time checks like we're doing.
>
> Thanks again for your feedback
> -Dan
>
> -----Original Message-----
> From: Sascha Beaumont [mailto:[hidden email]]
> Sent: Thursday, October 22, 2009 7:16 PM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Questions on more advanced WiX Installer UI
>
> Hi Dan,
>
> This sounds like something similar to what we were trying to do with
> our installer. The question you should ask yourself is do you need to
> do this during installation, or could you move some of these steps to
> a post-install phase?
>
> What we ended up doing is for interactive installations, launching a
> separate program post-install that does all the key validation and the
> required webservice calls when the user presses the "Finish" button.
>
> For corporate deployments (i.e. silent mode, no UI), certain
> properties can be embedded in the MSI or provided on the command line
> - if these are present we call a command line program with CAQuietExec
> that does pretty much the same thing that the GUI would.
>
> The key is further validated by the application at runtime, dropping
> back into a demo mode if it can't find a license and prompting the
> user to launch the "activation" GUI program.
>
> The end result is a simpler installation that's much easier to manage,
> requiring an internet connection during install can lead to a number
> of problems so by separating it out the user doesn't get as confused
> about why things might be failing.
>
> Sascha
>
> On Thu, Oct 22, 2009 at 4:53 AM, Dan Giambalvo <[hidden email]> wrote:
>> I'm working on some enhancements to our WiX based setup UI, and wanted to know if a few things are possible using the UI components Windows Installer makes available:
>>
>> 1)      We have a custom action as a part of our installer that makes a web service call.  We'd like to embed in the UI a spinner that would spin during the time we are making the call.  Does such a control exist in the Windows Installer toolkit?  Can we use some type of animated gif for this purpose?
>>
>> 2)      We have to accept entry of a product-key type code at install.  Ideally, we'd like to add some logic so we auto-add/remove separators at the right time, don't allow invalid characters (input is Hex) etc.  Does Windows Installer have any mechanism for doing this sort of thing?
>>
>> Thanks in advance for any help!
>> -Dan
>>
>> ------------------------------------------------------------------------------
>> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
>> is the only developer event you need to attend this year. Jumpstart your
>> developing skills, take BlackBerry mobile applications to market and stay
>> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
>> http://p.sf.net/sfu/devconference
>> _______________________________________________
>> WiX-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> WiX-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>

------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/wix-users