How do I integrate the Advanced Updater with my C# application?
Sample code on how to integrate the updater with a C# application.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Threading;
using System.IO;
namespace UpdaterExampleCSharp
{
/**
* Sample code for using the Advanced Updater from C# applications.
*
* Note: For this sample code to work you must have the updater.exe and updater.ini
* beside the C# applications main exe.
*
* @author Advanced Installer team
*
*/
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// Start the thread that will launch the updater in silent mode with 10 second delay.
Thread thread = new Thread(new ThreadStart(StartSilent));
thread.Start();
// Compute the updater.exe path relative to the application main module path
updaterModulePath = Path.Combine(Application.StartupPath, "updater.exe");
}
private static String updaterModulePath;
private void FileClose_Click(object sender, EventArgs e)
{
this.Close();
}
/**
* This handler should be associated with a menu item that launches the
* updater's configuration dialog.
*/
private void OptionsAutoUpdaters_Click(object sender, EventArgs e)
{
Process process = Process.Start(updaterModulePath, "/configure");
process.Close();
}
/**
* This handler should be associated with a menu item that launches the
* updater in check now mode (usually from Help submenu)
*/
private void HelpCheckForUpdates_Click(object sender, EventArgs e)
{
Process process = Process.Start(updaterModulePath, "/checknow");
process.Close();
}
private static void StartSilent()
{
Thread.Sleep(10000);
Process process = Process.Start(updaterModulePath, "/silent");
process.Close();
}
}
}
........
The above code covers only the event handlers that should be implemented from inside your application.
Here is the main class that will call the above code.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace UpdaterExampleCSharp
{
static class Program
{
/// The main entry point for the application.
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
}
}