|
-
Sep 28th, 2006, 06:35 PM
#1
Thread Starter
Lively Member
Deployment?
A long time ago I remember coming here and asking if .net had the ability to create stand-alone executables, and was told there is no such thing and that microsoft would like to have us pay to create our programs.
Now I hear from someone about deployment, an option that creates an installer, uninstaller and allows you to run the program on just about any machine.
I daresay that I am lost. While there is plenty of refrences to this in the documentation sdk, I have yet to find a clear cut way to pull this off. Was I misinformed either time? Have I wasted a lot of angry energy for nothing?
Please help, you guys always pull through for me!
AZURE
Act 1: Ruby
Act 2: Cavara Militari
Act 3:
Act 4:
Act 5: Cogito ergo sum
-
Sep 28th, 2006, 07:24 PM
#2
Re: Deployment?
Managed applications require the presence of the .NET Framework because it's the Framework that does the managing. .NET assemblies rely on types from the .NET Framework class library and they are compiled on demand by the .NET JIT (Just In Time) compiler. You can use the tools provided with Visual Studio to creat an installer for your app that will install and uninstall it on just about any system. That installer can, and will by default, bootstrap the .NET Framework installer. That means that your application's installer can automatically install the .NET Framework if it's not already present on the system. Yoiu can choose to bundle the Framework with your installer or have it automatically downloaded only if required as part of the installation process. There are also third-party tools, both paid-for and free, that will do the same job and more besides.
There are one or two tools around that will compile your .NET assemblies into native Windows executables. They will compile the Framework assemblies that your app depends on into that executable also. That means that your app is no longer a .NET application, because it is not managed by the .NET Framework. The few tools that I've seen that will do this are quite expensive.
So, what are you talking about? Are you saying that you just want to create an installer for your app or are you saying that you want to be able to install it on systems without the Framework? If you want to do the latter, why? Do you have some genuine reason or do you just think it might be handy?
Last edited by jmcilhinney; Sep 28th, 2006 at 07:33 PM.
-
Sep 28th, 2006, 07:45 PM
#3
Thread Starter
Lively Member
Re: Deployment?
Quite a verbose response! I will try to answer that last question 
I wish to install my program on a computer for a small business my family owns. They do not have the .net framework on that machine. Also, I wish to produce a chess program (very basic) to play with my gf on the train in to school. Once I secretely wipe her HD of that horrid MAC OS and install winxp, that is 
I just want to be able to send my programs to an audience. Thanks jmc
AZURE
Act 1: Ruby
Act 2: Cavara Militari
Act 3:
Act 4:
Act 5: Cogito ergo sum
-
Sep 28th, 2006, 07:57 PM
#4
Re: Deployment?
Of course you can install .NET applications. I would imagine that when someone said that you can't create a stand-alone executable they meant that you cannot create an application that is independent of the .NET Framework.
Basically the rule is that you must have the .NET Framework installed on any system that you want to run .NET applications on. You must also have the correct version for the application. If your app was created with VS 2005 then you need version 2.0.
It doesn't matter how the Framework gets on the system, as long as it's there before you try to run the app. Anyone can download the Framework redistributable from Microsoft and install it. If you have created a simple application that has no dependencies other than the Framework then you can simply copy the EXE to another machine and run it, provided that machine has the Framework installed.
As I said before, you can use VS to create an installer for your app that will do things like install the EXE and any other dependencies, create registry entries, create file type associations, install the Framework and more. The Publish feature of VS and VB Express, which uses ClickOnce deployment, can do some of these things but not all. There are also third-party applications that can do more, including freebies like Inno and NSIS, up to the big boys like InstallShield.
-
Sep 28th, 2006, 09:41 PM
#5
Thread Starter
Lively Member
Re: Deployment?
I am a little confused, I don't really know how to do any of these things. Which should I use? I am programming in C# at the moment. Thanks again
AZURE
Act 1: Ruby
Act 2: Cavara Militari
Act 3:
Act 4:
Act 5: Cogito ergo sum
-
Sep 28th, 2006, 10:27 PM
#6
Re: Deployment?
It's completely up to you and depends on the situation. If you're creating simple apps with no dependencies or only a few libraries required then simple XCOPY deployment is easiest. That means that you would manually install the Framework on the target system, if it doesn'talready have it, then just copy your app and any libraries it requires to a folder and run it. if you need more then you can look at ClickOnce publishing, VS Setup projects or third-party installers. It all depends on your requirements.
-
Sep 29th, 2006, 03:49 PM
#7
Thread Starter
Lively Member
Re: Deployment?
Well, I'd like to make it an installer package. This seems like a lot to ask of the recieving party in the event I wanted to publish a program. What happened to the good old "Create .exe" from the VB proffesional days?
AZURE
Act 1: Ruby
Act 2: Cavara Militari
Act 3:
Act 4:
Act 5: Cogito ergo sum
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|