Archive: How to display a browser window over top of installer?


How to display a browser window over top of installer?
I have an installer that launches an HTML menu using the following code:

ExecShell "open" "$INSTDIR\${MENUFILENAME}.html" "" "SW_SHOWMAXIMIZED"

What I want to happen is for the browser to pop-up over the top of the installer so that the user's attention will move to the locally stored web page in the browser.

Problem is, the installer pops back up on top of the browser as soon as it runs ExecShell. Ideally we don't want the user to complete the install until the user is finished reading what is in the browser. It's not critical they don't complete it, but things will go better for us if we help them focus on reading the web page first instead of on completing the install first.

Any suggestions on how to make the installer go to the background will be appreciated.

-Mike


Strange. Maybe you have BringToFront command after ExecShell?


What about


ShowWindow $HWNDPARENT ${SW_MINIMIZE}

before browser call?

There's a plugin to embed a MS WebBrowser control onto a custom page. That way you don't have to shell to the HTML document. http://nsis.sourceforge.net/NsWeb:_A..._a_custom_page

You could also make a custom page that has just a plain text box. InstallOptionsEx also has a rich-text control if you want to keep formatting.


That won't work for us

Originally posted by bhaelochon
There's a plugin to embed a MS WebBrowser control onto a custom page. That way you don't have to shell to the HTML document. http://nsis.sourceforge.net/NsWeb:_A..._a_custom_page

You could also make a custom page that has just a plain text box. InstallOptionsEx also has a rich-text control if you want to keep formatting.
Thanks for the suggestions, but that would be counter to our goals. We actually want the users attention to move to the browser, and have them even forget about the installer. We want them to first use the browser to really look the HTML and PDF pages we installed before returning their attention back to the installer because we want to ask them to subscribe to be notified of new issues, but only after they've had a chance to read our content.

It is our feeling they will be more likely to agree to be notified after they can see the quality of the content we are providing.

BTW, what we are "installing" is a series of product selection "Guides" in PDF format for .NET developers. You can see one here: http://www.howtoselectguides.com/dotnet/pdf/

Maybe it would be better to display the web page once the install process is complete. You should be able to put your ExecShell command in the .onInstSuccess function (http://nsis.sourceforge.net/Docs/Cha...html#4.7.2.1.4).

On a personal note, I really dislike using installers--whether you call them installers or downloaders or whatever--that interrupt themselves in the middle to sell me something. It's not as bad if they wait until the end, because that lets me finish the task at hand (installing the product) as quickly as possible, but it IS still an annoyance. Maybe place a link to your subscription page in a $SMPROGRAMS folder instead? Just some friendly advice from one developer to another. :)


Originally posted by bhaelochon
Maybe it would be better to display the web page once the install process is complete. You should be able to put your ExecShell command in the .onInstSuccess function (http://nsis.sourceforge.net/Docs/Cha...html#4.7.2.1.4).
No, that doesn't work for me either.

Originally posted by bhaelochon
On a personal note, I really dislike using installers--whether you call them installers or downloaders or whatever--that interrupt themselves in the middle to sell me something. It's not as bad if they wait until the end, because that lets me finish the task at hand (installing the product) as quickly as possible, but it IS still an annoyance. Maybe place a link to your subscription page in a $SMPROGRAMS folder instead? Just some friendly advice from one developer to another. :) [/B]
I do appreciate your point and thank you for giving it, but I think you are envisioning something different than what I am trying to accomplish.

My installer/downloader will be, for all practical purposes, finished working when I pop up the browser; the only thing that will be left are two screens where the developer is given the *option* to give us their name and email to subscribe to be notified of new Guides, and another screen where they can give us optionally refer friends.

What's more, the developer's entire purpose for running the installer/downloader will be to view our Guide which is what they will be able to do once we pop-up the browser. I could, and will, put a reference to subscribe on the HTML menu page that lists the Guides in PDF format, but there is much less likelyhood someone will proactively click that link.

Let me give you a bit more to consider. I am a developer and have been since about 1984. I even wrote a very long book on programming in 1990 (go to Amazon and search on my name.) So I am very much aware of and am part of the programming ethos. I am publishing these Guides because there is a strong need for them, and I am passionately interested in making them as good as they can be.

OTOH, I am now also a publisher, and publishing is expensive. How to pay for it? Advertising. How to get advertising? Significant readership. So to ensure these Guides can survive I want to optimize my ability to solicit email newsletter subscriptions from *interested* developers without crossing any ethical lines.

If it means that I have to slightly annoy some readers by requiring them to click Cancel and then Ok when they are gaining access to content that was expensive for me to produce yet for which 1.) I didn't charge them one red cent to access, and 2.) I didn't even *require* them to register, then I guess I'll just have to be "the bad guy" and annoy those developers. This presumes the content is good, valuable, and unbiased as possible, which is what I will make every effort to ensure; if so, developers will soon forget they were annoyed.

The alternative will be that I don't get enough subscribers and can't afford to continue publishing the content. Assuming the content is good, valuable for developers, and unbiased; which would you prefer?