What are the requirements for running .net framework targeted application on Windows CE 5?
If I try to start an application that I developed for Windows Mobile 6, I will get the following error.
Cannot find 'Projectname' (or one of
its components) Make sure the path and
filename are correct and that all the
required libraries are available
My app is a simple hello world app. What could cause that such error message?
Is there a way to dertimine which .net compact framework version is running on my system?
You can run cgacutil, which is in the Windows folder. It should give you a version number of the compact framework installed onto the device. It's likely you dont have the correct compact framework installed.
If you dont have cgacutil, its likely that compact framework isnt installed to the device at all. In this case download the latest version of the framework (currently 3.5, available here). The install may take around 7MB of space from your main memory. If storage space is tight, it can be installed to external memory, with some potential consequences as discussed here
The problem is caused by what you're wondering... Which version of compact framework is installed in your system and, most of all, if there is a version of compact framework installed.
I suggest you to download the version corresponding to your developing environment and install it in your device.
By default, Windows Mobile 5 comes with .NET Compact Framework 1.0 SP3 pre-installed.
An application developed for Windows Mobile 6 is at least going to use .NET Compact Framework 2.0 SP2, therefore make sure that it is installed on the Windows Mobile 5 device.
You can download it here, but generally it is a good practice to install the latest version available, as long as it is supported by the device.
Related
I am using Visual Studio 2010.
I made a C# project and it runs perfectly on my Computer.
Problem is this that when Application is run on another Computer, that ask for .Net Framework.
Everybody doesn't have administrator Access to install .Net Framework and also peoples don't want to install that.
What alternative i should follow to sort out this problem?
(Specifically for Windows 7).
Windows contains a version of .NET by default. Here's a listing of them.
XP
.NET v1.0 -- Service pack 1
.NET v2.0 -- Service packs 2 & 3
Vista
.NET v3.0 -- All service packs
Windows 7
.NET v3.5 -- All versions and service packs
Windows 8
.NET v4.0 + Metro UI available.
Windows 8.1
.Net v4.5 + Metro UI available.
Windows 10
.Net v4.6 + Metro UI + Universal Apps available.
Note:
All contains .NET v4.6 if Windows Update is enabled. (Not for all versions of windows)
Options of deployment:
There are several options of deployment.
Checking for .NET in installation. (Install systems like NSIS support this).
See this for more info.
If you want to deploy portable app, notify users to install the required .NET version. (easier)
Target .NET 2.0 and all users are able to run your app since I think nobody is using XP SP1. (easiest. I use this to deploy mine.)
EDIT
There needs some clarity with some other answers, so I'm quoting this Wikipedia note.
.NET Framework 1.0 is integral OS component of Windows XP Media Center edition or Tablet PC edition. Installation CDs for the Home editions and the Professional editions of Windows XP SP1, SP2 or SP3 comes with .NET Framework installation packages.
No way! CLR is absolutely needed for managed apps.
The only alternative is to not use a programming language that is based on the .net framework.
If you're writing a c# application, then the .net framework is required.
Perhaps you want to create a c++ application instead?
If you are targeting Windows 7 or later version of the OS, then just compile your program using C# 3.5. The version 3.5 of the framework is part of Windows 7.
I guess you were compiling C# 4.0 code.
Correct me if I am wrong but windows 7 comes with .Net framework installed. Windows Vista comes with installed .net framework and I believe this is valid for windows 7 as well.
And to answer your question - it is not possible to run the exe on a machine that does not have the framework as the program compiles to intermediate language that is only "understandable" by the Common language runtime(CLR)
Yes, there is Spoon (earlier XenoCode) that can wrap everything that your app needs and runs it in as a standalone.
From their site:
Spoon Studio
Easily virtualize all of your applications for instant,
zero-install delivery on Spoon Server and Spoon.net.
Spoon Studio lets you convert your existing software applications into virtual applications
that run with no installs, conflicts, or dependencies.
I am very much worried that i have seen many applications which i download from internet and they run without installing .net framework or java run time on windows seven, the confusion is, if it is so then in which language all these applications are built? if it is VB6 then it is very old, why latest software are using it, and did Microsoft not build Windows seven in any .net framework, for example if they build it in 3.5 then why it requires to install 3.5 .Net framework to run application.
Also let me know which db these apps usually use.
They could be built using C or C++, or any number of other languages with no runtime libraries (or whose runtime libraries are built into the OS). They may also just use .NET and assume that clients have the .NET framework installed. Finally, they may actually check for the .NET framework and prompt the user to install it if it isn't there, but since you already have it installed you don't see the prompt.
As for which databases they use, it is common to see applications use SQL Server CE or Express, Berkeley DB (BDB), or any number of other small-footprint databases. There is no clear winner in that area, just like in programming languages.
Mostly, Windows 7 has the built-in .NET framework 3.5 So, it automatically runs the application developed in .NET, where as few earlier version of Windows OS, the user didn't have the needed framework in built. It needs to be installed separately.
I have a Windows Mobile application that is built for .NET CF 1.0. It is written in C#. How can this program check what versions of the .NET Compact Framework are installed on the device it is running on?
It really depends on what you mean by "installed". If they were installed via CAB file (the most common), there will be entries in the registry under HKEY_LOCAL_MACHINE\Software\Microsoft\.NETCompactFramework that you could programmatically check.
I am creating a windows application for users with xp, vista or 7 PCs. I was wondering if WPF would work on all these computers, or should I play it safe and just use winforms?
Thanks!
Yes, they will run ok if the computer has the correct .net framework installed.
It would be a good idea to redistribute the framwork with your application. Here is a topic in msdn about how to do it MSDN
Windows Forms has been in .NET since .NET 1, with a few additions in .NET 2. WPF is available in .NET 3 – so, if someone has XP with .NET 2 installed, WPF won't work there.
Apart from that, you can of course install the appropriate .NET framework version on old machines as well. But the implication (WinForms works → WPF works) is wrong.
It will work on all of them, although you won't get the aero glass interface in XP. Obviously, you will need a reasonably up-to-date .NET framework runtime installed on the target machine.
WPF was added in .NET 3.0, so will run on any machine running 3.0 or a newer of the .NET Framework. However, the rendering technologies differ dramatically between WPF and WinForms, so you may need to take that into account. MSDN has a decent set of documents on WPF performance, some of which cover performance-related issues: http://msdn.microsoft.com/en-us/library/aa970683(v=VS.85).aspx.
We use WPF applictaions for XP, Vista and win7 customers and it works fine on platforms.
If you can get the right framework on the machine it will run. So far we are using Version 3.51 and no problems so far.
As other have mentioned, your dependency is on the ability to run the .net framework 3.0. .net 3.0 is supported on the following platforms according to the link below.
Software Requirements
To install .NET Framework 3.0, you
must have one of the following
operating systems installed on the
target computer:
Microsoft Windows XP Home or Microsoft Windows XP Home Professional, with Service Pack 2 or later.
Microsoft Windows Server 2003 family with Service Pack 1 or later.Service Pack 1 or later.
http://msdn.microsoft.com/en-us/library/aa480198.aspx#netfx30_topic9
I am writing an app to discover what features exist on a pc. The user would go to a web page, download the app and execute it (with all the appropriate warnings, this is not spyware). The app would use the standard MS api to determine such things as connection speed, installed memory, firewall health, etc. Writing the app is not a problem, I could use Scripting Host, C#, C++, etc. The question is, if I chose C# is there any guarantee that a certain flavor of windows would have .net installed? The target pc is XP SP2 or better and Vista.
Thanks for the help.
Vista does have .NET 3.0 installed. XP SP2 doesn't have any .NET framework installed by default.
You may want to read Scott Hanselman's blog post SmallestDotNet: On the Size of the .NET Framework, specifically the What's the "Client Profile?" section:
The Client Profile is an even smaller
install option for .NET 3.5 SP1 on XP.
It's small 277k bootstrapper. When
it's run on a Windows XP SP2 machines
with no .NET Framework installed, it
will download a 28 meg payload and
give you a client-specific subset of
.NET 3.5. If the Client Profile
bootstrapper is run on a machine with
any version of .NET on it, it'll act
the same as the 3.5 SP1 web installer
and detect what it needs to download,
then go get it. There's more details
in the Client Profile Deployment Guide.
Mehrdad has it right, SP2 has no .NET installation by default. It's worth noting, however, that you can provide a download for users who lack the runtimes, providing whatever version you are using bundled in. It's an option through the creation wizard of one of the setup packages.
Like the above have stated, .NET is not installed by default. However if you were using ASP .NET with C#, many things could be gotten just by viewing the website (computer name, domain, userid, etc).
Well if you are afraid of use .Net but the client does not have installed, you could try a product which takes all your .Net dependencies and creates an isolated installer that will run on every computer, with all the risks that this could raise to your users (no updates, no bug fixes and such).
Here is the link:
http://www.remotesoft.com/linker/index.html
Hope this helps.
I would suggest avoiding .NET if possible since most versions of Windows come without it and the installer will just add to the pain of using your program. Unless its a large application already... but from the sound of it you can get what you want with a few KB's of C++ executable (i.e. almost instant download).
Pre-Vista: there is a significant chance that .NET will not be installed. And event if it is it may be 1.0 or 1.1.
Vista includes .NET 3.0 in RTM, but it is an optional component in Server 2008.
I would also be considered about the size and start up time of .NET. Overall this sounds like something to be written with as few dependencies as possible.
EDIT: Corrected Vista included 3.0 not 3.5.