Run .NET Appllications without runtime.

P

pacemkr

I know it is possible to run a .NET App without installing the
framework.
http://www.thinstall.com/help/index.html?welcometothinstall.htm

What I want to know is how effective this is and if there are
alternatives to the above link.

I am thinking of developing a shareware application based on the .net
framework, however some people argue that the need to install the
runtime may drive prospective customers away. So I'm looking for
workarounds or anything else, just to explore my options.

Thanks,
Nick Z.
 
R

Roel Oost

Only good alternative is to use a non-,net-framework programming environment
(vb6 b.e.).
Described alternative links the used framework libraries to your exe (so
your exe will be blown up to several megabites, I gues 20Mb, the size of the
framework runtime deployment...) And then the question is if Thinstall is
able to run the framework without compatibility issues there the functioning
of the framework depends on a machine-dependent configuration. You can try
it of cource, but a few issues I can tell you at now:
* Your executable loadtime will increase, because of the need to load the
framework libraries
* The cost of Thinstall licence
* Most machines for deployment will already have the framework (WinXp, 2003,
Vista, etc)

Roel
 
N

Nick Z.

Roel said:
Only good alternative is to use a non-,net-framework programming environment
(vb6 b.e.).
Described alternative links the used framework libraries to your exe (so
your exe will be blown up to several megabites, I gues 20Mb, the size of the
framework runtime deployment...) And then the question is if Thinstall is
able to run the framework without compatibility issues there the functioning
of the framework depends on a machine-dependent configuration. You can try
it of cource, but a few issues I can tell you at now:
* Your executable loadtime will increase, because of the need to load the
framework libraries

Not an option. The nature of the application requires fast startup (any
general tips/guidelines for achieving that?).
* The cost of Thinstall licence

Definitely not an option, the license is way too expensive for
Thinstall.Basically they take commission from your sales(downloads?).
* Most machines for deployment will already have the framework (WinXp, 2003,
Vista, etc)

Thats what I'm betting on. I heard somewhere that 68% of machines
already have .net installed, whatever that means. Is there any official
figure or some authoritative estimate on that?
 
C

Carl Mercier

The problem is that .NET 2.0 is just around the corner, and we'll have to
deploy a whole new set of runtime libraries, once again!

Regarding Thinstall load up time, I doubt there's a difference with regular
..NET applications. Even with the framework preinstalled on a machine, your
application will need to load it. It would be nice to see some benchmarks
for both.

Carl
 
K

Kevin Spencer

I am thinking of developing a shareware application based on the .net
framework, however some people argue that the need to install the
runtime may drive prospective customers away. So I'm looking for
workarounds or anything else, just to explore my options.

You're barking up the wrong tree, Nick. First, the .Net Framework is a free
download from the Microsoft Windows Update web site. Second, you can include
the .Net Framework distributable in your app, and set up your setup project
to install it automatically during the setup of your app. Third, consider
Java. You can't run a Java app without the Java Virtual Machine installed on
your machine. Why should .Net be different?

Microsoft spent years of reasearch developing the .Net Framwork and related
technologies. It is about as perfect as it gets. The web site you mentioned
is trying to make money off of you. It doesn't have your best interests at
heart. Rumors, idle chat, SPAM, and random web searches are not sources of
information. If you really want to leverage the power of the .Net platform,
download the FREE Microsoft .Net SDK. The SDK for .Net 1.1 can be downloaded
from:

http://www.microsoft.com/downloads/...A6-3647-4070-9F41-A333C6B9181D&displaylang=en

This titanic resource has all the information you could possibly want or
need about the .Net Framework. I spend at least an hour a day in it, and
I've been doing .Net for about 5 years now. Study it. You will find that you
don't need anything other than the .Net Framework, and (if at all possible)
Microsoft Visual Studio.Net to design, create, and deploy .Net applications.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
I'd rather be a hammer than a nail.
 
R

Roel Oost

.NET applications. Even with the framework preinstalled on a machine,
your application will need to load it. It would be nice to see some
benchmarks
Yes, but when using more .net apps, the framework libraries should only been
loaded once. Further, parts of the operating system will depend on the
framework, so the framework should load at booting the operatingsystem. Your
..net application should then have a fine fast loadtime
 
C

Carl Mercier

Maybe I'm wrong, but I believe the .NET framework assemblies need to be
reloaded for each AppDomain. Again, I might be wrong!

I'm not saying that packaging an application with the framework is a good
thing. We don't do that and never had an intend to do so, but sometimes, it
can be necessary (ie: prerequisites installation routine).

I'm still curious about how much overhead thinstall puts on a .NET
executable.

Carl
 
W

William Stacey [MVP]

Yes. And there is a generic bootstrapper built into VS2005, so not sure
how/what/why these fit together or if they have merged into one product or
not.

--
William Stacey [MVP]

Phil Wilson said:
There is this too, a bit more versatile:

http://www.microsoft.com/downloads/...5a-c735-48d9-9cdd-a6d211c2e1c1&displaylang=en
--
Phil Wilson [MVP Windows Installer]
----
William Stacey said:
I agree. Also, MS has the Bootstrapper kit that will install .Net
Framework version (if not already installed) from your CD or Inet. It
will also bootstrap things like sql express, etc.
http://msdn.microsoft.com/vstudio/downloads/tools/bootstrapper/
http://blogs.msdn.com/chrsmith/

So this can make your install pretty clean for the user and self
contained.
 
N

Nick Z.

Carl said:
Maybe I'm wrong, but I believe the .NET framework assemblies need to be
reloaded for each AppDomain. Again, I might be wrong!

I think you are right and I think this is horrible. I just profiled an
application I'm making it uses about 4.5 MB throughout its lifetime,
which seems pretty reasonable.

However, simply starting the application and opening task manager the
application is shown using 20 MB of memory. After doing what is supposed
to do, the application is using 38 MB of memory. Keep in mind that CLR
Profiler is showing that 4.5 MB of memory was used. Excuse my French but
wtf? Is it a memory leak or is this supposed to be like that?
 
N

Nick Z.

Kevin said:
You're barking up the wrong tree, Nick. First, the .Net Framework is a free
download from the Microsoft Windows Update web site. Second, you can include
the .Net Framework distributable in your app, and set up your setup project
to install it automatically during the setup of your app. Third, consider
Java. You can't run a Java app without the Java Virtual Machine installed on
your machine. Why should .Net be different?

Microsoft spent years of reasearch developing the .Net Framwork and related
technologies. It is about as perfect as it gets. The web site you mentioned
is trying to make money off of you. It doesn't have your best interests at
heart. Rumors, idle chat, SPAM, and random web searches are not sources of
information. If you really want to leverage the power of the .Net platform,
download the FREE Microsoft .Net SDK. The SDK for .Net 1.1 can be downloaded
from:

http://www.microsoft.com/downloads/...A6-3647-4070-9F41-A333C6B9181D&displaylang=en

This titanic resource has all the information you could possibly want or
need about the .Net Framework. I spend at least an hour a day in it, and
I've been doing .Net for about 5 years now. Study it. You will find that you
don't need anything other than the .Net Framework, and (if at all possible)
Microsoft Visual Studio.Net to design, create, and deploy .Net applications.

Well I know its free... However, my concerns are completely different
and I think I've been fairly clear describing them.

Some shareware developers are claiming that .NET might not be a good
choice for making shareware, simply because it requires downloading .NET
if the user does have it, which may potentially drive people away from
your product. Now I do not agree really with this statement, I think
most users would not mind or already have it. I was trying to consider
my options however. For example it would be nice to have two versions,
one smaller that requires .NET and one that is somewhat larger but runs
without it. Thinstall might be doing that, but the price is completely
unacceptable, that is why I was asking if there are alternatives.
 
J

Jon Skeet [C# MVP]

Microsoft spent years of reasearch developing the .Net Framwork and related
technologies. It is about as perfect as it gets

While I agree that Thinstall isn't a good way to go for most people, I
think the above is a huge overstatement. There are plenty of ways the
framework could be improved - and is being improved for .NET 2.0. I
don't expect 2.0 to be "as perfect as it gets" either - I expect
Microsoft to keep improving it.
 
K

Kevin Spencer

Some shareware developers are claiming that .NET might not be a good
choice for making shareware, simply because it requires downloading .NET
if the user does have it, which may potentially drive people away from
your product.

I hope that opinions don't make your decisions for you. An opinion is a poor
substitute for a fact. That is why I recommended studying the .Net SDK. It
is nothing but facts. If I depended upon the opinions of others to make my
decisions, I would STILL be writing shareware, which I haven't done in a
dozen years.

There are 2 ways to acquire wisdom: 1. Experience, and 2. By heeding the
advice of those who already have it. The second is by far the easier way to
go, but both work equally well.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
I'd rather be a hammer than a nail.
 
K

Kevin Spencer

I think the above is a huge overstatement. There are plenty of ways the
framework could be improved - and is being improved for .NET 2.0. I
don't expect 2.0 to be "as perfect as it gets" either - I expect
Microsoft to keep improving it.

You misunderstood the statement, Jon. What I said precisely is that the .Net
Framework is about as perfect "as it gets." I did NOT say that the .Net
Framework is about as perfect as any Framework could possibly be. What I
meant was that, comparing the .Net Framework to any other existing
Framework, there is nothing better, and that, given the limitations of time
and resources, the .Net Framework, as it now stands, is about as perfect as
any Framework could be. At this time. In other words, "as it gets."

Of course Microsoft will continue to improve it. The .Net Framework 2.0 is
light-years beyond the 1.1 Framework. That is to be expected. But comparing
any existing technology to the infinite future possibilities of all
technologies is fruitless and meaningless.

I hope I have clarified my remark to your satisfaction.

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
I'd rather be a hammer than a nail.
 

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

Top