473,407 Members | 2,315 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,407 software developers and data experts.

(Not) Running Release version on target machine

Good morning everyone,

I am having difficulty distributing a Release version of an application.

System info
C# DOTNET, MDE 2002, Version 7.0.9466
.Net Framework, version 1.0.3705

My Desktop Operating system (as reported by Control Panel.System) is:
Windows XP, Version 2002

My Laptop Operating system (as reported by Control Panel.System) is:
Windows XP, Version 2002, Service Pack 1

The only difference being the presence of SP1 on my laptop.

Client Laptop Operating system (as reported by Control Panel.System) is:
Windows XP, Version 2002

Apart from knowing that that client machine uses WinXP 2002, I am unable to
determine the presence or otherwise of SP1 (client and computer not in town…)

I have developed a simple application that is to be used by the client for a
simple, one-time-only test. The application compiles a release version which
runs fine on my desktop but it does not run on the client’s machine stopping
before it even starts with the message

“The application failed to initialize properly (0xc0000135). Click OK to
terminate the application.”

When I tired the same exe file on my laptop I got the same message.

To test this further I created a new solution with a single project called
TestApp. Having made no alterations whatsoever to the .Net generated code, I
compiled this to Release version. The exe file runs fine on my desktop buts
fails on my laptop with the same message shown above.

My understanding was that an exe file of this nature was stand-alone in the
release version and this note in the .Net Help:

The .NET Framework provides the following options for packaging applications:
• As a single assembly or as a collection of assemblies.
With this option, you simply use the .dll or .exe files as they were built.

Meant that the exe file on its own was all that is required. What am I
missing here? Is there an incompatibility between my version of C# DOTNET and
XP with SP1 installed? Or something else?

Regards,
Plumer

Jul 21 '05 #1
6 1825
On Mon, 11 Oct 2004 17:37:02 -0700, Plumer wrote:
My understanding was that an exe file of this nature was stand-alone in the
release version and this note in the .Net Help:


You must still have the .Net framework installed on your laptop.

Is the .Net Framework installed on your laptop? If so, which version? Is
the version of the framework on your desktop the same as the version on
your laptop?

--
Chris

dunawayc[AT]sbcglobal_lunchmeat_[DOT]net

To send me an E-mail, remove the "[", "]", underscores ,lunchmeat, and
replace certain words in my E-Mail address.
Jul 21 '05 #2
Good morning Chris

Many thanks for your prompt and helpful response.

No, the Framework is not on the laptop and I did wonder if that was the
problem. But when I checked in Control Panel I saw an entry for the framework
on the desktop for Framework Version 1.0.3705 that occupied 2079MB! And then
I thought "Does this mean I have to install that on every machine that I want
an app to run on?? Surely not..."

But presumably the answer is yes in one form or another so it would seem
that I end up with a 60KB 'stand-alone' app that requires 2GB of backup in
order to run it. I certainly hope this isn't the final word on this because
it is just plainly and simply is not a workable or acceptable option.

Once again, many thanks for your help.

Kia pai to haere, e hoa!
Plumer

"Chris Dunaway" <"dunawayc[[at]_lunchmeat" wrote:
On Mon, 11 Oct 2004 17:37:02 -0700, Plumer wrote:
My understanding was that an exe file of this nature was stand-alone in the
release version and this note in the .Net Help:


You must still have the .Net framework installed on your laptop.

Is the .Net Framework installed on your laptop? If so, which version? Is
the version of the framework on your desktop the same as the version on
your laptop?

--
Chris

dunawayc[AT]sbcglobal_lunchmeat_[DOT]net

To send me an E-mail, remove the "[", "]", underscores ,lunchmeat, and
replace certain words in my E-Mail address.

Jul 21 '05 #3

"Plumer" <Pl****@discussions.microsoft.com> wrote in message
news:5F**********************************@microsof t.com...
Good morning Chris

Many thanks for your prompt and helpful response.

No, the Framework is not on the laptop and I did wonder if that was the
problem. But when I checked in Control Panel I saw an entry for the
framework
on the desktop for Framework Version 1.0.3705 that occupied 2079MB! And
then
I thought "Does this mean I have to install that on every machine that I
want
an app to run on?? Surely not..."


Most likely you are seeing the SDK, not the runtime itself. The SDK is
rather large and includes all of the help files and other documents you use
regularly for development.

The runtime installer is about 20meg(60 or 100 extracted, I think. Its been
awhile since I've looked), still not small but considerablly better than 2
gigs.
Jul 21 '05 #4
Good afternoon Daniel

Many thanks for your encouraging reply.

Your reply suggests that I need to install the Runtime on all machines that
implement the app I'm supplying. You are quite correct that 100MB is much
better than 2 Gigs but it's still a little hard to swallow.

But I'm puzzled: The C++ compiler that was married to MFC produced genuinely
'stand alone' apps that could be distributed without anything other than the
..exe file that the Release compiler generated. I have to note that this isn't
true in the strictest sense since there were frequently standard system DLLs
that were also required. But those DLLs were part of the operating systems
that the apps were written for and so there was no need to install anything
other than the exe file on the target machine. This appears not to be the
case with the .NET Runtime. Does the .NET runtime have to also be installed
on the target machine? I'm assuming that the answer is yes.

I'm a relatively new convert to C# having wrestled with C++ for years and I
was greatly relieved to leave the obscure and arcane C++ behind when C#
appeared BUT -- and it's a big but -- if C# cannot generate a standalone app
that can be installed and run without carrying large ancillary files with it,
it will really seriously call into question whether I can continue to use it.
This is a serious issue for me and I need to resolve this one way or another
as soon as possible.

I'm very grateful for your help and guidance. Many thanks!

Kia pai to haere, e hoa!

Plumer


"Daniel O'Connell [C# MVP]" wrote:

"Plumer" <Pl****@discussions.microsoft.com> wrote in message
news:5F**********************************@microsof t.com...
Good morning Chris

Many thanks for your prompt and helpful response.

No, the Framework is not on the laptop and I did wonder if that was the
problem. But when I checked in Control Panel I saw an entry for the
framework
on the desktop for Framework Version 1.0.3705 that occupied 2079MB! And
then
I thought "Does this mean I have to install that on every machine that I
want
an app to run on?? Surely not..."


Most likely you are seeing the SDK, not the runtime itself. The SDK is
rather large and includes all of the help files and other documents you use
regularly for development.

The runtime installer is about 20meg(60 or 100 extracted, I think. Its been
awhile since I've looked), still not small but considerablly better than 2
gigs.

Jul 21 '05 #5

"Plumer" <Pl****@discussions.microsoft.com> wrote in message
news:85**********************************@microsof t.com...
Good afternoon Daniel

Many thanks for your encouraging reply.

Your reply suggests that I need to install the Runtime on all machines
that
implement the app I'm supplying. You are quite correct that 100MB is much
better than 2 Gigs but it's still a little hard to swallow.
It is certainly a pain at times. Everyone has this issue now and then.
Hopefully at some point the framework's installation base will grow, but
right now it isn't as broad as windows itself is.

But I'm puzzled: The C++ compiler that was married to MFC produced
genuinely
'stand alone' apps that could be distributed without anything other than
the
.exe file that the Release compiler generated. I have to note that this
isn't
true in the strictest sense since there were frequently standard system
DLLs
that were also required. But those DLLs were part of the operating systems
that the apps were written for and so there was no need to install
anything
other than the exe file on the target machine. This appears not to be the
case with the .NET Runtime. Does the .NET runtime have to also be
installed
on the target machine? I'm assuming that the answer is yes.

There is a fundamental difference in MFC and the .NET framework. Most
specifically C\C++ allows static linking. The framework does not.
C\C++ also allowed for linking only the pieces needed(within library
boundries of course), while the .NET framework is an atomic unit. There are
reasons for this, mind you.

One is that it guarentees and environment. C++\MFC used the system directly
and generate alot of code. The .NET framework installs a collection of base
libraries which in some ways wraps existing code, and in others replaces it
outright.

When you think about it, eventually the larger MFC applications with little
to no runtime are going to outweigh the framework. It is more a matter of
when the download occurs.

For exmaple, how many copies of msvcrt.dll do you have on your system? I
appear to have 13, about 6 different versions of such, at 3.95 megs. 21
msvcr71.dll for 7.48 megs, and so on(ironically, msvcr71.dll appears to be
contained in the .NET framework as well, ;)). And how many executables do
you have that has statically linked libraries in them, adding 300-500k? It
really is the size of the individual bite, not how much space it takes up.

Also, for alot of applications, partial distribution simply won't work. For
applications that use plugins or apps that use alot of reflection, it is
difficult or impossible to determine which components are nessecery(its not
terribly easy even with a static app).

There have been a few ideas floated, but nothing I think ever took flight.
It may hold a research project or two in it, but I doubt anything will
become mainstream any time soon.

I'm a relatively new convert to C# having wrestled with C++ for years and
I
was greatly relieved to leave the obscure and arcane C++ behind when C#
appeared BUT -- and it's a big but -- if C# cannot generate a standalone
app
that can be installed and run without carrying large ancillary files with
it,
it will really seriously call into question whether I can continue to use
it.
This is a serious issue for me and I need to resolve this one way or
another
as soon as possible.


Unfortunatly, there is no standalone support in the framework itself. There
is a product..salamander linker I believe it is called, which can generate
a, much larger, standalone executable. However I can't advise using it
because(this is a bit of a disclaimer as well)
1) I don't think its the right way to do things,
2) I can't speak for its legality and don't want to advise something that is
illegal(I don't know one way or the other, I'm not a lawyer, just someone
who doesn't want to cause trouble, ;).

However, I will mention it. It might fit your needs, it might not. That is
for you to decide.
Jul 21 '05 #6
Good morning Daniel

Since yesterday I’ve been pursuing some of the things that you highlited in
your very complete and useful response. Many thanks for taking the time to
write that out for me.

I now understand the issue reasonably clearly and it seems that my
expectations were a little unrealistic.

I tried to run a search on DLLs on my computer but it failed repeatedly and
I gave up but nevertheless I take your point about multiple copies of dlls
and static linkage.

As a consequence of some of your comments, I’ve been prowling around in the
C# help and can now see what needs to happen.

Thanks again. I appreciate your help

Kia pai to haere, e hoa!
Plumer
Jul 21 '05 #7

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Greg B | last post by:
Created a simple Win32 application (using Visual Studio wizard)... Am using Visual Studio (Enterprise Edition) 6.0, as well as Service Pack 5. At the start of 'WinMain' function, added the...
224
by: VB6 User | last post by:
Hi all devies! Many (.NUT, .NOT or whatever), APIs, VB6, Views & Questions Your can not call APIs directly in .NET, only via P/Invoke. There are some things that cannot be done in...
6
by: Plumer | last post by:
Good morning everyone, I am having difficulty distributing a Release version of an application. System info C# DOTNET, MDE 2002, Version 7.0.9466 .Net Framework, version 1.0.3705 My...
0
by: Tom Wingert | last post by:
Hi, I am having a problem with getting My.Log.WriteException to write to the Event Log in ASP.Net 2.0 with a web service. When an error occurs, My.Log.WriteException doesn't log anything to the...
7
by: Jim Butler | last post by:
I have this error that is happening on all of our web servers (production included). It basically started occurring once we loaded 2005 sql client tools, asp.net 2.0 (and all related prerequistes)...
56
by: Squishy | last post by:
I tried installing my VS2005 Pro on Vista Ultimate 32 bit RTM today and got errors stating that VS2005 was not compatible with Vista. Microsoft......please pull your finger out of my ass and tell...
1
by: Duncan Smith | last post by:
Hi All, Grateful if anyone has any suggestions here? I have a VS2005 MFC app which hosts several types of views in CFrameWnds - one of which contains a managed control hosted in a CWinFormsView...
8
by: Joe Withawk | last post by:
I have a solution consisting of a c# project as win application and a c++ project as classlibrary. Both are .net 2.0 The classlibrary handles some loading of quicktime movies, but that should not...
0
by: Nariban Barkan | last post by:
Hi All, In my c# project, i use Microsoft.MSHTML.Dll as reference. It works perfectly fine on the development machine, but on the release machines that are in production use we gets error when...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development projectplanning, coding, testing,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.