ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

DonationCoder.com Software > Post New Requests Here

IDEA: an app to stop installers from launching web browsers and opening pages

<< < (3/3)

app103:
@app103, now that's an idea. I could install any quick and simple browser I would never use (there are lots of them) and block it in ESET's firewall. Combined with BrowserTraySwitch, that would work, except ... remember, some installers actually hang if they don't get a signal back that the browser page has opened (that SHOULD be outlawed).
-Brian De Braganza (March 06, 2011, 12:52 AM)
--- End quote ---

Keep in mind that some apps open IE and not your default browser. You'd have to block IE from having internet access in your firewall and switch it to be your default browser while installing.

You can hardly block internet access, as a lot of installers often fetch parts to install from the internet, check for updates during install, or register your copy with the supplier based on account information entered during install.
-Ath (March 06, 2011, 04:44 AM)
--- End quote ---

This is why you block access to the internet in a browser rather than the installer itself. The installer will still be able to fetch what it needs...it just won't be able to cause a browser to fetch a page from a remote server.

kyrathaba:
For me the annoying part is when you upgrade and the installer insists you first uninstall the old version. Then it pops up a web page asking you why you are uninstalling.  Duh!!
--- End quote ---

And really, there's no reason (or at least there's seldom any reason) that a developer should insist that the user uninstall a previous version of a application first, before installing a newer version.  Not when scriptable installers can automatically uninstall any detected old version before installing the new one.

In my last several projects I've used Inno Setup to create the installer, and the apps themselves have an Update button.  When an update is detected, and the user chooses to download and run it, the updated installer automatically uninstalls the older version silently, without requiring so much as a click by the user.

I guess my whole point being that competent (and thoughtful) programmers won't create extra work for the end-user when they can automate a task programmatically.

Admittedly, there may be times when it's not desirable to uninstall an older version of an app (say, when you want to install multiple side-by-side versions of a program).

Ath:
the user chooses to download and run it, the updated installer automatically uninstalls the older version silently,
-kyrathaba (July 11, 2011, 10:17 PM)
--- End quote ---

That is normally not needed. Nearly nothing needs an uninstall before an update. You know where you are coming from, application-wise, and where you are going to, so just updating the files that are new should be enough.
That the standard Visual Studio setup project does that, doesn't mean it useful for anything, it's just pure laziness of the MS guys, and meant as an opportunity to sell you a 'real' installer builder like Wise or Installshield. But as you already found out, Inno Setup can do what you need most of the time, easier and with a smaller footprint :) (And yes, I'm an Inno Setup fan, though I also work with Installshield stuff)

MilesAhead:
I like Inno myself.  Esp. if you program in Pascal, if there isn't an Inno function to do something it's nearly as easy to do it in Pascal script. I may go back to it once the "portable" fad passes. :)

selyb:
How about this...
Add an entry to the context menu for *.exe and *.msi called Install
this entry would call a script that
1) check the path to default browser
2) add an entry to "ImageFileExecutionOptions" for a dummy.exe for the debugger
3) if the default browser isn't IE then add another entry for iexplore.exe
4) run the installer as per usual
5) remove the "ImageFileExecutionOptions" entries created above


I suppose the script should check for existing entries in ImageFileExecutionOptions and if any exist then back them up and restore them at the end

Navigation

[0] Message Index

[*] Previous page

Go to full version