.Net packaging/wrapper application?

C

Chris Mullins [MVP - C#]

But, personally, I would never
choose .NET for a horizontal, mass distributed application. That
would have to be something more standalone - like C++, Delphi, or
maybe PowerBasic (personally, I'd probably choose C++).

I agree. Completly.
Nobody? Really. Do you have stats on that.

In relative terms, very few people do (I don't have numbers, or I would
provide them). It's not installed by default with any O/S or major product,
nor is it pushed by Windows Update.

To have it installed the user either had to manually install it (via an
optional Windows Update), or be running a program that's already installed
it. Both are unlikley scenarios in the general case. Especially for the
non-tech savy users, that small "cute" apps typically target.
Why? Because you install a dependency? Please.

Because, the installation process for .Net sometimes takes over an hour. It
also frequently fails to install at all. In the coffee-house scenario, where
users are trying to download and install your app via the free wireless,
it's not usable.

Also, for some reason I don't understand, .Net is signifigantly slower to
install via a bootstrapper than via the stand-alone MSI.

The end result is a bunch of people who were willing to install the app now
think it sucks. They don't know it was the .Net framework that had issues,
they just know they tried to install SoapBox, it took an hour, and ultimatly
failed. This makes up look bad, and our software takes 100% of the blame.
They have pushed via windows update - but as an optional update.

Optional updates don't really do anyone any good. I would love to see the MS
numbers on the this. I would really like to see the reason behind why they
havnen't pushed it wider. I suspect it's due to the high failure rate on
install - especially for the .Net 3.0 stuff.
If it's a problem for you, then I respectfully have to say your using
the wrong toolset.

I agree with you. It's sad, but .Net isn't a suitable toolset for building
widely deployed desktop applications.

The problem for me was a failure to check my/our assumptions. We assumed the
..Net Framework was widely deployed - via Office / Windows update / IE7 / XP
SP2. This turned out to be incorrect, and has caused much pain. Nobody to
blame there by oursleves for such a poor assumption.
 
C

Cor Ligthert[MVP]

Chris,

Will you be so kind to pay more attention to the way you quote, the way you
do this, brings for me Tom's message in a complete other context than I was
assuming what he wrote.

Cor
 
C

Chris Mullins [MVP - C#]

Hrm. I just went back and re-read, and I don't think I mis-quoted anything,
or took anything out of context. What did I misquote, and goof the context
on?

I try to quote as little as possible, while still retaining context...
 
R

Registered User

What is it with Microsoft MVPs that they do not read about a subject before
posting on it?

Thinstall and Xenocode change NOTHING about the .Net framework or your
application. They simply wrap all needed .Net functionality and your
executable and any dependent files (like DLLs or ActiveX controls or other
files that your .Net app needs) into a single executable file.
Your initial post isn't very clear about what you want. These products
are mentioned but nothing is said about the functionality they
provide. It is a bit much to expect everyone to read about these tools
just to understand what question you're really asking.
This means that your potential customer that is still on dial-up, the 25+MB
.Net framework may never get downloaded so your apps are worthless to them.

Are people still on dial up? Yep. The last hard figures I could find on
short notice said "It turns out that as few as 28 percent of American
households today have access to broadband Internet. That's according to
reporter Richard Hoffman in a Nov. 20, 2006 Information Week article, citing
data from Government Accountability Office." -
http://blog.tmcnet.com/wireless-mob...s-still-using-dialup-internet-connections.asp.
And, while this report is now just over 1 year old, even if the # of
households with DSL doubled in 12 months (which is HIGHLY unlikely) that
means that 44% of households in the US are still on dial up.
You know nothing about anyone's potential customer base except perhaps
your own. If the app is important enough to the user, the user will
find a way to obtain and install the framework. Minimum requirements
should always be set. Will Thinstall/Xenocode really let your app run
on _any_ computer?
As for your comparison of .Net prgramming to the use of Thinstall or
Xenocode, that only proves that you haven't read anything about either of
them.
I haven't read about these tools because I have no reason to. You want
to write an app using .NET tools and have it run as a single
executable on a platform which does not have.NET installed. Perhaps
you have chosen the wrong tools with which to write the application.
MVPs.......God save us from Microsoft MVPs.
You may have fewer problems with MVPs responding to your queries in
the future.

regards
A.G.
 
M

Michael Nemtsev [MVP]

Hello jim,

So, if nobody made it yet, then it means it have some serious limitation
which we can't see right now
there is no silver bullet in development world.

---
WBR,
Michael Nemtsev [.NET/C# MVP] :: blog: http://spaces.live.com/laflour

"The greatest danger for most of us is not that our aim is too high and we
miss it, but that it is too low and we reach it" (c) Michelangelo


j> I'm telling you....Thinstall-capability is the answer to distribution
j> issues, DLL/version hell issues, permission issues, setup issues and
j> even helps maintain security on the desktop. Why nobody is making an
j> affordable version for the masses, or has taken this on as an open
j> source project is beyond me.
j>
j> The benefits are so great that NOT including this technology in .Net
j> studio is simply negligent.
j>
 
C

Chris Mullins [MVP - C#]

jim said:
What is it with Microsoft MVPs that they do not read about a subject
before posting on it?

Hrm. Let's see:

You post questions on free, public, forum to get answers from people.

.... are these people giving answers being paid? Nope.
MVPs.......God save us from Microsoft MVPs.

That's an awfully broad brush you're painting with. Sure you want to stand
by a statement like that?
 
T

Tom Shelton

I agree. Completly.

There you go! :)
In relative terms, very few people do (I don't have numbers, or I would
provide them). It's not installed by default with any O/S or major product,
nor is it pushed by Windows Update.

Well, it finally is starting with Vista - so maybe in 7 or 8 years
this won't be an issue :) But, that makes sense.
To have it installed the user either had to manually install it (via an
optional Windows Update), or be running a program that's already installed
it. Both are unlikley scenarios in the general case. Especially for the
non-tech savy users, that small "cute" apps typically target.

Again, makes sense. I ask this because I have never been in that
market - so I have no idea what the .NET landscape is like outside of
corporate networks :)
Because, the installation process for .Net sometimes takes over an hour. It
also frequently fails to install at all. In the coffee-house scenario, where
users are trying to download and install your app via the free wireless,
it's not usable.

I've never had it take that long... But, that would be painful if
that's the case. But, again, I wouldn't choose .NET for that sort of
app anyway.
Also, for some reason I don't understand, .Net is signifigantly slower to
install via a bootstrapper than via the stand-alone MSI.

I've never noticed that myself - but, again I don't bother with that
stuff for the most part, because I don't have too.
The end result is a bunch of people who were willing to install the app now
think it sucks. They don't know it was the .Net framework that had issues,
they just know they tried to install SoapBox, it took an hour, and ultimatly
failed. This makes up look bad, and our software takes 100% of the blame.

Ouch. I can understand and feel your pain. I used to have the same
issues updating/installing an old VB5/6 app that I used to maintain.
Mostly it would work - but, there was always a percentage of machines
were it would always cause issues. And of course, even though it was
the install of a 3rd party package - we always took the heat.
Optional updates don't really do anyone any good. I would love to see the MS
numbers on the this. I would really like to see the reason behind why they
havnen't pushed it wider. I suspect it's due to the high failure rate on
install - especially for the .Net 3.0 stuff.

Have you really had that many failures? Seriously, I've
installed .NET on hundreds of machines (and I mean that literally) -
and I can't ever recall having it fail....
I agree with you. It's sad, but .Net isn't a suitable toolset for building
widely deployed desktop applications.

I agree with that. It is sad.
The problem for me was a failure to check my/our assumptions. We assumed the
.Net Framework was widely deployed - via Office / Windows update / IE7 / XP
SP2. This turned out to be incorrect, and has caused much pain. Nobody to
blame there by oursleves for such a poor assumption.

It happens.... Believe me, I've been bitten by my own assumptions
before as well.
 
C

Chris Mullins [MVP - C#]

Have you really had that many failures? Seriously, I've
installed .NET on hundreds of machines (and I mean that literally) -
and I can't ever recall having it fail....

We haven't seen that many true failures- maybe a few dozen. We've seens lots
of "Took a reallllly long time. Wireless networke died after 40 minutes. Had
to restart. You product sucks. FOAD." In nearly all these cases (the ones
we've been able to analyze) the culprit has been the very long .Net
framework install.

The problem is when the install fails, we hear all about it, as people
quickly get very vocal. Then it's on forms that get archived and indexed by
search engines, and the next thing you know the top hits for the product are
all "Unable to installed.", "Broken", "Sucks".

Everything seems to install quite well on fresh computers. But on computers
that have been around a while (and are often infected with stuff), or are
running strange virus / malware scanners, or have had beta versions of stuff
installed, it seems to fail the most.

On the other hand, it's... very frustrating.

I personally have had to rebuild 2 dev workstations due to .Net install
failures. These involve beta versions of the .Net 3 & 3.5 frameworks that
failed to uninstall properly. I expect some of this given that they're beta,
but it's very frustrating how fragile the installers are..
 
T

Tom Shelton

We haven't seen that many true failures- maybe a few dozen. We've seens lots
of "Took a reallllly long time. Wireless networke died after 40 minutes. Had
to restart. You product sucks. FOAD." In nearly all these cases (the ones
we've been able to analyze) the culprit has been the very long .Net
framework install.

That's too bad. Really, I just never have had that particular problem
- of course, like I said I've always worked in controlled
environments.
The problem is when the install fails, we hear all about it, as people
quickly get very vocal. Then it's on forms that get archived and indexed by
search engines, and the next thing you know the top hits for the product are
all "Unable to installed.", "Broken", "Sucks".

I can imagine that sucks.
Everything seems to install quite well on fresh computers. But on computers
that have been around a while (and are often infected with stuff), or are
running strange virus / malware scanners, or have had beta versions of stuff
installed, it seems to fail the most.

On the other hand, it's... very frustrating.

I personally have had to rebuild 2 dev workstations due to .Net install
failures. These involve beta versions of the .Net 3 & 3.5 frameworks that
failed to uninstall properly. I expect some of this given that they're beta,
but it's very frustrating how fragile the installers are..

As for the rest - beta? Yeah, I've had lots of the beta stuff fail
and there were problems uninstalling some of it as well. That's why
for the last several cycles, I pretty much limit the beta stuff to
vm's then It's not a big deal to rebuild it :)
 
S

Scott Roberts

I disagree with your analogy. I view the .Net framework as a more
"developer-friendly" and object-oriented WinAPI. The fact that this new
WinAPI is not yet universally installed is a problem for the developer. When
you target an OS, it is necessary for your users to be running that OS. You
wouldn't write a linux app then complain that it didn't run on OS X, would
you?

If you want a Win32 app, write one.

Eventually? That's what our company has deployed today. And you can too!
Just choose the right development tools!
 
J

jim

Chris Mullins said:
Hrm. Let's see:

You post questions on free, public, forum to get answers from people.

... are these people giving answers being paid? Nope.


That's an awfully broad brush you're painting with. Sure you want to stand
by a statement like that?

My apologies to the Microsoft MVP community as a whole. But, the majority
of MVPs that "contribute" to threads seem to be adverse to actually reading
about or trying to understand the topic that they are responding to.

This majority of responders makes the MVP community as a whole look quite
foolish.

jim
 
K

Kevin Spencer

jim,

Windows Installer is a programming API which is perfectly extensible. In
fact, Microsoft Visual Studio (as well as all other Microsoft products) is
installed with Windows Installer. The reason I mention Visual Studio is that
it is one of the most complex software products on the market, with special
requirements to install, and if Windows Installer can install that, it can
install anything. There are no limitations on what you can do with it, other
than your own lack of imagination and creativity.

I sent you TWO URLs. The second is a link to the full Windows Installer API
reference. The first is a link to the Visual Studio documentation on the
built-in tools for doing .Net installations with it. The Visual Studio tools
are quite limited, but do provide the tools to deploy many applications
straight out of the box, and a good starting point for more complex Windows
Installer applications.

The problem with people like you is that you patronize and insult people
without knowledge. You think you have superior knowledge, but that is
because you lack knowledge. When a person of superior skills is humble, the
discovery of their true ability is a pleasant surprise to others. When a
person behaves as if they are superior when they are not, the discovery of
their true ability shames them publicly.

--
HTH,

Kevin Spencer
Chicken Salad Surgeon
Microsoft MVP
 
S

sherifffruitfly

I am looking for an application that will wrap my .Net application (and any
needed .Net parts) into a single exe.

I know of Thinstall ($4,000 for application and per copy fees for your exes)
and of Xenocode (~$1,500 plus ~ $12 per copy of your exe).  But, I'd like
something that is actually affordable for a hobbyist programmer.

This capability (Thinstall's being able to wrap a .Net app and ship it as a
single exe) would be a FANTASTIC addition to the .Net application suite.  It
would simplify the shipping & installation and not even require the end user
to have .Net installed or to install the application.  It also avoids DLL
and .Net Version Hell.

If Microsoft was going to buy something, one of these technologies should be
it.

If you know of anything like Thinstall or Xenocode that does not require per
copy fees, I'd really appreciate a pointer to it.

Thanks!

jim


There's ILMerge, but I don't know if that's precisely what you're
after.

http://www.microsoft.com/downloads/...87-B4AD-4EAE-87CF-B14AE6A939B0&displaylang=en
 
H

Homer J. Simpson

This means that your potential customer that is still on dial-up, the
25+MB .Net framework may never get downloaded so your apps are worthless
to them.

I don't know the details of Thinstall and/or Xenocode, I've only been
reading through this thread, but for this particular point to actually
support your position, you'd have to have your one-EXE program include:
- your app's own code
- the Thinstall/Xenocode code
- the .NET framework

....and all of these components together somehow would have to result in a
single file that's smaller than the 25MB .NET framework on its own...is that
correct?

And then as soon as you have another application that also uses
Thinstall/Xenocode, it would also have to include the same components
internally. IOW, a copy of .NET is wrapped up in every single application.

Please tell me this is not how it works.
 
D

dviljoen

jim said:
in
message news:[email protected]...

VMWare is great. However (if I understand the creation of virtual
appliances correctly), it carries with it a HUGE overhead because it
wraps
up the entire OS with your virtual appliance. Virtual appliances
created
for/from VMWare also require a license for every copy if you
distribute any
proprietary operating system (like Windows XP, Vista, 2003 Server,
etc.) in
your virtual appliance - that's why virtually every virtual appliance
you
see is done with Linux.

jim *


Here's a backwards way of doing it, but it might work. (disclaimer: I
haven't done this, its only a suggestion for research) I know that gcc
can be used as a cross compiler. See if it can compile IL into a win32
binary. If so, you want to have it build a statically linked win32 exe.
That is essentially what you're looking for. (You may need Mono to do
this... don't really know)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,818
Latest member
Brigette36

Latest Threads

Top