Click here to Skip to main content
15,890,579 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi Friends!
I've developed a windows application program with the intention of using it on any computer without prior installation (just like flash play).
How to go about the deployment has been challenging to me.
Please, help me out.
Thank you.
Posted
Comments
[no name] 14-May-14 11:14am    
If you don't have any dependencies on anything outside of the .NET stuff then copy/paste works most of the time. What exactly is the problem?
Kornfeld Eliyahu Peter 14-May-14 16:19pm    
It's sounds nice at the first, but if you stop for a minute you understand that someone have to check if there are no external dependencies, and also .NET dependencies can be tricky. What if target computer has no the same .NET that application requires? So someone have to check that too...
And that's what exactly an installer does - check any kind of dependencies! To build an installer with Visual Studio is a matter of 10-15 minutes, than the application can be installed on any computer without wory, but the manual approach forces you to check every single computer from A to Z...
Rob Philpott 14-May-14 11:33am    
What do you mean by deployment? It needs to be on the users machine in some form or another in order to execute. Are you just trying to avoid a traditional Windows installer? Who is the audience, is it the world or corporate? What is your application (forms/wpf/web/etc.)...
Salisu Shaibu 14-May-14 12:20pm    
Form application I mean. I've seen some mini-applications without Windows installer. My application convert SI unit of length to other 12 units.
CHill60 14-May-14 12:42pm    
See comment from Wes Aday ... just copy the exe onto the PC. You can also just copy a shortcut at the same time (into the appropriate folder). Nothing else required if your exe doesn't rely on anything else being installed.

1 solution

This is a very usual way of deploy gaining more and more popularity, for some good reasons, and finally started to by encouraged by Microsoft. Installation contaminates system registry, not always provides clear clean-up, and often is not needed. The alternative packages are called "portable" in modern jargon, but there is nothing new about it.

All you need is to develop the application which works equally well when it is simply copied to any directory of any drive, including removable drives. There is nothing special about it. For the first deployment, you simply copy the content of your output directory (basically, for Release configuration) somewhere, on some network server or removable drive.

The application should make no assumptions on having any special directories, drives, their names, certain users and their names, anything; it should not modify any system setting or make any assumptions on such settings. As a matter of fact, this is a general requirement for any programming at all, but there are many developers who cannot meet it. If you cannot do it, you don't really do programming, no matter is it installable project or not.

Also, good more complex products comes in two versions: installable and "portable" (of course, based on the same code). Installation just add few steps providing some convenience to permanent use of the product: say, registers the file types to be opened with the installed software, and so on. Simpler products may never require anything like that.

—SA
 
Share this answer
 
Comments
[no name] 14-May-14 14:44pm    
But what is, if my app is relying on a "latest" .NET X.Y, for which I can't assume that is already installed?
Sergey Alexandrovich Kryukov 14-May-14 14:59pm    
Oh, sure, you should put this as a prerequisite. Of course. This is natural; you are not assuming that your application should run without any OS installed at all? (Actually, some applications do that, but I think this is not the topic we discuss.) .NET is just the part of platform.

All modern Windows come with .NET 3.5 as the minimum. The earlier versions (XP) which don't have been removed from Microsoft support. So, I would recommend to target your application to .NET v.3.5, which is actually a very good version. This is easy to do.

Alternatively, you can use installation and deploy .NET with the installation, which is legal and quite possible, but I would not recommend going this way, in almost all cases.

—SA
[no name] 15-May-14 3:35am    
Thank you very much for this Information.
My 5.
Regards, Bruno
Sergey Alexandrovich Kryukov 15-May-14 14:04pm    
My pleasure. Thank you, Bruno.
—SA
Maciej Los 14-May-14 15:06pm    
Good question, Bruno!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900