all groups > dotnet setup > july 2006 >
You're in the

dotnet setup

group:

How to get a "Launch Application"?



How to get a "Launch Application"? Rob R. Ainscough
7/21/2006 11:25:58 AM
dotnet setup: There doesn't appear to be any "Launch Appliation" dialog box that I can add
to the User Interface End section -- is there some way I can get this to
happen via VS 2005 Windows Setup project?

Re: How to get a "Launch Application"? Rob R. Ainscough
7/21/2006 3:23:15 PM
Ok found the solution

MsiLaunch tool - it works perfectly
http://www.cornerhouse.ca/download/msilaunch.msi

Why this functionality is not in VS 2005 IDE for Setup projects is beyond
me -- so where do the good programmers go? Obviously not M$ -- or there
again maybe the smart ones do go to M$, after all they don't have to use
what they produce.

[quoted text, click to view]

Re: How to get a "Launch Application"? Rob R. Ainscough
7/21/2006 4:07:28 PM
I spoke too soon, I was not able to get MSILaunch to work and the
documentation for it seems to indicated it was good upto VS 2003, no mention
of VS 2005 support.

The WROX book suggests using the custom actions "Commit" and adding Primary
Output. This does indeed launch the my application, however, it also leaves
the Installer "Finish" dialog box up and waiting for the user to close it.
And users (bless their souls) don't understand why or what the dialog box is
there for, and I tend to agree with them. Soooo...MSILaunch isn't working
and I can't use the Commit Custom Action, so what are my options? Install
Shield 12 at $1500 per head?

Rob.

[quoted text, click to view]

Re: How to get a "Launch Application"? Phil Wilson
7/23/2006 12:26:57 PM
It seems to be a common misconception that Visual Studio setup projects have
some set of features comparable to InstallShield, Wise, Advanced Installer
etc.
--
Phil Wilson
[Microsoft MVP-Windows Installer]
[quoted text, click to view]

Re: How to get a "Launch Application"? Phil Wilson
7/23/2006 12:33:15 PM
Use a custom action that launches your app asynchronously. Just write code
that launches your app and then exits. Then the app is running and the MSI
can complete.

Doing it as a commit custom action is a bad idea. If an administrator turns
off rollback (with policy) commit custom actions don't get called.
--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

[quoted text, click to view]

Re: How to get a "Launch Application"? Rob R. Ainscough
7/24/2006 7:30:56 AM
Phil,

InstallShield 12 is $1500 per head, we would need 4 user licese or $6000.
InstallShield is essentially a glorified wrapper around MSI -- Orca (free)
and VS 2005 setup projects should cover it especailly since VS 2005 is NOT
free (MSDN Universal is $2500/yr). Perhaps these are things you don't need
to factor in, but I do. We have two versions of InstallShield 11.5 and
found them to be beyond very user un-friendly -- in other words the tool
still requires a certain level of knowledge that required a higher salaried
person which in turn begged the question why use it at all.

But Phil, look at what I'm asking -- "Launch Application" once the install
is complete -- does that sound like a mind boggling difficult task to you?
Clearly it is something simple enough to put in VS 2005 Setup projects? It
really should NOT be this difficult. I suspect it was not included in VS
2005 so as to keep companies like InstallShield alive (which has switch
hands numerous times) -- again, this does NOT help the developer which in
turn does NOT help the end user. For once, I wish Microsoft would think in
terms of the "developer".

Rob.


[quoted text, click to view]

Re: How to get a "Launch Application"? Phil Wilson
7/24/2006 8:14:19 AM
Launching an app isn't mind boggling, no, and you can do it as I described
in my other post.

Editorial:
The InstallShield IDE (like other tools that have full access to MSI
features) does require some knowledge because MSI is more involved than I
think you are aware of. As a broad generalization, the pattern seems to be
that developers look at VS and its limited access to MSI (which also hides
the gory details), start using it, then bemoan the lack of features.
Ironically, exposing those features would probably result in an IDE that is
just as complicated as InstallShield's. Why people don't evaluate and
choose a tool depending on their requirements is beyond me. If cost is an
issue, use Wix, but I think you'll find that's non-trivial too because it
exposes all the MSI functionality. So you'll get that dratted thing about
needing skilled people again.

IMO, setups of any complication are a specialized skill, just like COM in
C++ or writing drivers, but this generally isn't recognised by many who see
it as "just copying files". The most adrenaline-inducing time for many
users is when they are installing something, and that's because
installations are seen as unreliable. Also, if an app breaks, the usual
advice is to install it again! Ask yourself if perhaps these things are a
consequence of not applying the right skills and doing things on the cheap.

--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280

[quoted text, click to view]

Re: How to get a "Launch Application"? Rob R. Ainscough
7/24/2006 3:19:26 PM
Ok we'll just have to disagree on this one. I believe deployment should be
a no-brainer process and not require large knowledge base. We started with
simply copy app to XYZ dir, went back to COMs and regsvr32, now back to
XCOPY .NET -- sorta sounds like a lost confused company.

Anyway, that aside, I've come across more problems with MSIEXEC an
uninstalling .NET 2.0 apps that are currently running. If the application
is running and has a non-visible form the MSIEXEC will proceed to uninstall
the app (EXE and DLLs), however the app remains running in memory.

I can't tell you how frustrating this project of implementing an Auto Update
feature has been, it really isn't that complex a project (relative to the
other projects I've created) and yet I can't do it using a Windows Service
(due to "interact with desktop" and Diagnostic.Process limiations) and now
I'm finding out that there are all kinds of problems doing it as a stand
alone app because MSIEXEC will not remove the app from memory if the app's
only visible reference is a notification icon.

It is crazy!! Serious, this is just nuts how much R&D I've had to do to get
to what basically amounts to "ya should have done it is some other
language/dev tool".

MSIEXEC is not a good tool, it's a very bad too, it returns inaccurate error
codes and appears to be EXTREMELY fragile. If there is a tool beyond
MSIEXEC that is not based on or a wrapper around MSI, please let me know.

Rob.


[quoted text, click to view]

AddThis Social Bookmark Button