Add A "Check for Updates" Option - c#

I would like to know, how to check for updates for my own developed software. I mean when a user uses the program and clicks on check for updates, what should I do and how to download the new application? Is it parsing the website download page, or using a database?
I would like to know how to achieve this in both C++ and C#.

There are quite literally 100's of different ways of doing this. So you need to put a little more thought into what your application platform/architecture is capable of (i.e. do you have net access, what is the technical level of your typical user etc). As examples of a solutions:
At startup your app checks a webservice for the latest version number and then compares to the current install. If the version is different then the user has an option to download and install the newer version. This could be done by either getting the use to go to a specific web address or you could download and execute it for them.
You also have the option of using something called Clickonce, this will effectively handle all this for you. This is a big subject so Google is your friend on this one, but as a starter have a look at:
http://msdn.microsoft.com/en-us/library/t71a733d%28VS.80%29.aspx

Related

How to automate Umbraco deployment using Courier 2

Our team use Umbraco 7 as our CMS. We have a simple MVC web site and two main environments; TEST and PROD. Each environment has it's own Umbraco installation and database.
I've been tasked with setting up an automated deployment process, which simply involves taking all content, media and settings from our TEST Umbraco and installing it on our production environment. This process is to be triggered by the click of a button from Octopos deploy (which in turn would call a c# program which would handle the actual deployment by calling the necessary Umbraco APIs and plugins).
As my deployment tool, I've decided to use Courier 2. I'm using the trial edition to sync between two sites I've set up locally (UmbracoA.local and UmbracoB.local). I've managed to, using the Courier 2 interface in Backoffice, create a revision on UmbracoA, transfer it to UmbracoB and install it there manually.
Now I must figure out a way to call the Courier 2 API and trigger these steps automatically. (No user should at any point have to use Backoffice to finalize any process of the deployment).
Steps to be automated are:
The creation of a revision including all content on Umbraco site A
Transfer of said revision to Umbraco site B
Install of said revision on Umbraco site B
From what I understand, Courier 2 has a event model to which I can hook my own steps, but I'm simply interested in triggering Courier 2's native events of creating a revision and pushing & installing it on the second site. Surely, this must be a rather simple call to their API?
As you can imagine, I'm fairly new to both Umbraco and Courier 2, but essentially what I'm looking for is just a code example of how I might call the events to trigger this process.
Thanks in advance and let me know if I can supply any more info about my scenario that might help you answer my question!!
Extra info: - Umbraco version 7.5.4 - Courier version 2.52.15

Targeting a specific Chrome process?

When I open the Chrome's Task Manager, I can see something like this?
Now, programatically, is it somehow possible to target the Chrome instance that is being used to run the Flash Plug-In? Maybe using System.Diagnostics.Process class or native API calls?
I was able to do this with native api calls. My solution worked perfectly on my machine. Here is what I did:
First, get Microsoft Process Explorer. Using this tool, I was able to get the flash plugin dll's name that chrome uses which is called pepflashplayer.dll in my case.
Next, a little search on Bing got me this article. It's C code so I converted to C# and after some coding I was able to retrieve the correct Chrome process ID that uses flash plug-in.
I have uploaded my solution to SkyDrive for you to check here. Note that I am not closing any handles in my sample so you'll have to add that for a real project.
There might be better solutions out there but this one should work. Hope it helps.

Autoupdating software using intranet

i searched for the topic but didn't find exactly that kind of problem.
I want to create a C# WinForms software which should run only in intranet. If i change the software afterwards i would like to have the application to look automatically in the network for a newer version. Is a newer version available it should replace the old one. Maybe there is some tool or library to achieve that?
Further Information: The software does not use a database and consists only out of one .exe file. No other stuff or files needed.
I don't want to setup a server or something like that for this task. I want it as simple and clean as possible.
Thanks in advance.
Joe
I think clickonce may help you. see http://msdn.microsoft.com/en-us/library/t71a733d(v=vs.80).aspx for more details
I really like the updateSystem.NET-lib, but which is only available in german. If you can understand the easy API, this is exactly what you are searching for.
Here, you can find a little tutorial, also in german.

How do we can create the attractive/customised installer for our .net application?

I am usually using Setup and Deployment template provided by visual studio. Is it possible to enhance default forms provided in that. or is there anything else to create the customized and attractive installer.
Aim :
1. I like to ask the user for pre-requested information to initialize the application during the installation process.
2. I like to prevent app.config by toching from user.
3. I like verify the collect the connection information during installation as well as like to verify that by connecting with given data source.
please provide good direction if i am in wrong path. - thanks
Wix is what you need
Yes, you can do all these things with the built in setup project in Visual Studio.
You can add a new user interface dialog box with text boxes, check boxes etc.
Write a custom action the handles these values and store them in some configuration file.
The app.config shouldn't be touched by the user anyway. If you are using the built in configuration classes in .NET, the user settings will be stored in a separated file in the user's application data folders.
As in #1, you can use custom actions for this kind of functionality.
The built in setup project has very little/no means of customizing the look and feel. For that you will have to use either 3rd party components/installers or use WiX and design setup screens/dialogs by yourself.
I use Inno Setup (http://www.innosetup.com/isinfo.php), its free and very configurable, it can also run your own applications as helpers to do very specific tasks.
Why not try other install systems like InstallShield or, if you really want to customize go for NSIS (Nullsoft Scriptable Install System)? NSIS Download

I want to use an exe file programatically

I am using a software named Daisy 2.02 Validator and it is with GUI but i want to access it programatically so that i can control all the validation process through my C# project. I am unable to find any help about it's libraries, any .net Api or any DOS command for controlling it. Please provide me help.
Thanks,
Regard,
Muhammad Waqas
If it's a .NET executable, try and use ILDASM.exe or better still - use Reflector to find out whether it has a public API. You may then be able to add it as a reference (all you need to do is simply rename the .exe to .dll) to your project or alternatively load it as an assembly and use reflection to use its API.
Obviously the first option is much preferred.
If it isn't a .NET executable, you could use scraping, but you would have to profile your app for that first and work out what low level windows messages and controls it responds to. Bit of a nightmare.
from what I see Daisy 2.02 Validator is an open source project.
if the API is not implemented you can just add it yourself
Worst case maybe send keystrokes to it.

Categories