Click here to Skip to main content
15,881,092 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
Hello,

I'm new to the website side of programming. I would think there would be an abundance of information on this topic, but I'm just not finding any. Here's the situation I need to learn:

1. User signs onto my website and request a demo version of my application (.exe, C#, ASP.NET)
2. The install program is sitting ready to go, but-
How do I ensure requestor is using Windows XP (or later) to a desk top or lap top?
How do I send the program to the requestor?
How do I get around (or accomodate) Firewalls, Anti-virus, and/or administration blocks?
Where (temporary internet folder?) will it initially land?
How do I launch the initial install process on the requestor's computer?
How do I validate the installation was successful?

I know that is a mouthful of topics, but can someone please steer me in the right direction (tutorial, books, articles, solutions, etc.)?

Thank you so much for any help you may have to offer.
Posted
Comments
Akinmade Bond 29-Sep-13 17:44pm    
You want to check all that from the web? You should make your application check all that.... Your app should contain directives that allow it to only install on a specific OS. You should try creating a custom installer for your application. Are you developing with Visual Studio?
Member 9804689 1-Oct-13 12:29pm    
Hello Akinmade and thank you for your reply.
In answer to your question, yes I'm using Visual Studio. Currently the product is being installed via CD (VS2005 CD deployment not using one-click) with all kinds of packaging advisements to make the purchaser aware of the system requirements.

It's the step-by-step what's going on processes I can't find any info on. eg. I take it folder "temp internet files" is the first landing spot. Do I just run the installation from there, or are there many other concerns going on? Again, I'm not expecting anyone to write the code for me. I'm just seeking someone to point me to a book or article that can help me along. Thanks- Kevin
Sergey Alexandrovich Kryukov 29-Sep-13 23:11pm    
To start with, this is not "upload", this is "download". I did not find a single reasonable question from your list. Your problems look artificial to me. For example, you need not "ensure" that the user is using certain OS. The person downloading your demo can work on Linux, and later install your demo on Windows. Hence, all you need it to write compatibility information in your release notes. And it makes other questions making even less sense...
—SA

1 solution

For desktop applications:
- OS Requirements: If your software is "installed", then you check operating system in the installer (.msi, for example). For creating installers, you can use WiX, NSIS, InstallShield LE, or for Visual Studio 2010 or lower, a setup & deployment project. In this phase, you also check for .NET version, any required software such as SQL server, any additional third party libraries...etc. There are examples in forums of each different installer creation kit.
- You do not send the file, user "downloads" it from a link in your web site (with a MIME of application/octet-stream for example).
- You do not "get around" firewalls, antivirus definitions and UAC, they are there for a reason. Users should allow your application or installer, and elevates it if necessary. At best, you could create a 'how to install' file or an example tutorial video.
- Location of temporary internet folder should not be a concern of you. If the user downloads it, he/she will choose where to download. If the user selects "Run" from iexplore, it will automatically launched.
- You do not launch the initial install command, users do it. It is the proper way; even if possible, most people will not be comfortable with autoexecuting binaries that can get around any security measure that they have, such as firewalls and antiviruses.
- Installers validate the installation is successful. If you want, you can add a custom action that sends you an email when the installation is successful, but it will be intercepted by a firewall, and may be considered a security threat or leak of private information since users will not not what your program sends away.
New thoughts on verification transmission: There are many different approaches that could be followed to achieve this. For example, as I have written before, you can create a custom action that triggers on a successful installation which sends an email to you. As an alternative, you can create an exe file that does the transmission works, and call that exe within the installer. You can program this such that if the installation fails, it sends the details of the error.
You could send the verification information on the first launch of your app, as well. When the program is executed for the first time, you try to send the success info. If you could, then you update the boolean that holds the state of verification transmission to true. If not, it says false. By this way, if the user is not online during installation or first launch, you try again (as long as the bool is false).
More exotic ways could be uploading a text file that includes the details of the installation to your 24/7 available server or your dropbox/google docs account (or any other cloud service with an API).
You may create a web service of your own and do a kind of registration work automatically behind the scenes as well.
Please note that if the user installs this program to a completely offline computer, there is no possible way of doing it automatically.

In short, once a user downloads the installer, it is his responsibility/authority to allow your application several privileges. You could prepare a document/audio-visual aid, of course.
If you provide more clear details of what you want to do, we may be of more help.
 
Share this answer
 
v3
Comments
Member 9804689 1-Oct-13 16:09pm    
.Thank you MCY.

Apparently I was anticipating this to be a much bigger to-do than an installation from a CD. I certainly understand the reasons for security and such, but it seems like software I have purchased off the internet previously bypasses it in some manner.

My biggest concern now is "Did it install successfully?" I don't want to charge the customer if it failed to install. Any thought? - Kevin
MCY 1-Oct-13 17:23pm    
On antivirus and firewalls, for which actions do you think you should bypass them? Some events such as installation do not trigger most of the security suites, except for paranoid ones such as Kaspersky. Do you have an example for the need of security bypassess?
On installation verification, you could follow different approaches. I have edited the answer; you can find my suggestions there.

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