Windows Installer, Java Installer, Freeware Installer
Home|Contact|Site Map|TOC|Search
Download  Features   Java  Licensing  Purchase  Testimonials  Support  Forums

How do I integrate the Advanced Updater with my java application?

Sample code on how to integrate the updater with a java application.

package com.updater;

import java.awt.*;
import java.awt.event.*;
import java.io.*;

/**
 * Sample code for using the Advanced Updater from java applications.
 * 
 * Note: For this sample code to work you must have the updater.exe and updater.ini in
 *       classpath. Just place them in the same folder as you java application .jar files.
 * 
 * @author Advanced Installer team
 */
public class TestUpdater extends Frame 
                         implements Runnable {
    
    public static void main(String[] args) {
      TestUpdater frame = new TestUpdater();
      frame.setVisible(true);
    }
    
    public void run() 
    {
      try {
        Thread.sleep(30000); // wait for about 30 seconds.
        StartUpdater("updater.exe /silent"); // launch the updater in silent mode.
      } catch (InterruptedException ex) {
        ex.printStackTrace();
      }
    }
    
    /**
     * The constructor.
     */  
     public TestUpdater() {
     
        Thread checkSilent = new Thread(this);
        checkSilent.start(); // start the updater in silent mode. 
                
        MenuBar menuBar = new MenuBar();
        Menu menuFile = new Menu();
        MenuItem menuFileExit = new MenuItem();
        
        menuFile.setLabel("File");
        menuFileExit.setLabel("Exit");
        
        // Add action listener.for the menu button
        menuFileExit.addActionListener
        (
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    TestUpdater.this.windowClosed();
                }
            }
        );
        
        Menu menuHelp = new Menu();
        menuHelp.setLabel("Help");
        MenuItem menuCheckForUpdates = new MenuItem();
        menuCheckForUpdates.setLabel("Check for Updates...");
        
        menuCheckForUpdates.addActionListener
        (
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    TestUpdater.this.StartUpdater("updater.exe /checknow");
                }
            }
        );
        
        MenuItem menuUpdatesOptions = new MenuItem();
        menuUpdatesOptions.setLabel("Updates Options...");
        
        menuUpdatesOptions.addActionListener
        (
            new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    TestUpdater.this.StartUpdater("updater.exe /configure");
                }
            }
        );
        
        menuHelp.add(menuUpdatesOptions);
        menuHelp.addSeparator(); 
        menuHelp.add(menuCheckForUpdates);
         
        menuFile.add(menuFileExit);
        menuBar.add(menuFile);
        menuBar.add(menuHelp);
        
        setTitle("Sample code for using the Advanced Updater from java applications");
        setMenuBar(menuBar);
        setSize(new Dimension(600, 400));
        
        // Add window listener.
        this.addWindowListener
        (
            new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    TestUpdater.this.windowClosed();
                }
            }
        );  
    }
    
    protected class DefAdapter extends WindowAdapter{
      public void windowClosing(WindowEvent e) {
        System.exit(0);              
      }
    }
    
    protected void StartUpdater(String cmd) {
      try {
        Runtime.getRuntime().exec(cmd);
      }
      catch(IOException ex) {
        ex.printStackTrace();
      }
    }
    
    
    /**
     * Shutdown procedure when run as an application.
     */
    protected void windowClosed() {
    	
        // Exit application.
        System.exit(0);
    }
}
Privacy Policy | Windows Installer | Search Engine Ranking | Link Analyzer