Académique Documents
Professionnel Documents
Culture Documents
#
# Project: Appupdater
# URL: http://www.nabber.org/projects/
# E-mail: webmaster@nabber.org
#
# Copyright: (C) 2007-2013, Neil McNab
# License: GNU General Public License Version 2
# (http://www.gnu.org/copyleft/gpl.html)
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Filename: $URL: file:///nfs/sf-svn/a/ap/appupdater/code/releases/appupdater-
2.1/README.txt $
# Last Updated: $Date: 2013-12-31 00:37:32 +0000 (Tue, 31 Dec 2013) $
# Author(s): Neil McNab
#
# Description:
# This file contains overview information on the project.
#
########################################################################
VERSION: 2.1
1. INTRODUCTION
2. INSTALLATION
2.1. Windows Installer
2.2. Python Installer
2.3. Portable (USB Drive) Installation
3. TYPICAL USAGE
3.1. Command line
3.2. Running from Source
3.3. Graphical User Interface (GUI)
4. COMPLETE DOCUMENTATION
4.1. Command line
4.2. Windows Service
4.3. Portable (USB Drive)
4.4. Graphical User Interface (GUI)
5. ENTERPRISE DEPLOYMENT
6. CREATING YOUR OWN REPOSITORY
6.1. Requirements
6.2. Tools
7. PERMISSIONS
8. KNOWN ISSUES
1. INTRODUCTION
===============
Appupdater provides advanced functionality to Windows, similar to apt-get or
yum on Linux. It automates the process of installing and maintaining up to
date versions of programs. Fully customizable for use in a corporate
environment.
2. INSTALLATION
===============
2.1. Windows Installer
----------------------
You can either run the Windows installer program or see the next section on
the Python Installer. The Windows installer requires administrator
privileges and can be run silently by using the /S option.
2. Download the file that ends in -win32.zip. This contains all of the
program .exes that you need, you can unzip to any directory and it will work.
3. Simply install normally to your hard drive as described in part 2.1. Then
copy the installation folder (default C:\Program Files\Appupdater) to your
USB device.
3. TYPICAL USAGE
================
3.1. Command line
-----------------
You should run this application as root/administrator. Many installers require
root/administrator privileges and will not install without them.
Use this just like apt-get for Linux, a single command will update your system:
When running into issues, you should always try running the --update option
first. This should fix most problems.
appupdaterw
You will be prompted to select a repository during the first run if one was
not selected during installation. Simply click the buttons in order to
update your system:
After completing this process you might still have applications shown in red
indicating that they still need to be updated. These applications likely
require you to install the updates manually by clicking through the
installation wizard. You can do this by clicking on the line number for the
application and then choosing "Install Manually..." and following the on
screen instructions.
4. COMPLETE DOCUMENTATION
=========================
4.1. Command line
-----------------
Each time you run the program you must choose a primary command. This will
break out each command and its options.
appupdater --add
Add new repositories that are suggested by repositories you are currently
using. You will be given a list to choose from and have the ability to add
individual repositories or just add them all.
appupdater --dryrun
This can be used in combination with any of the other commands discussed.
This will not make any real changes, just act as though it does in order for
you to preview what will happen when actually run. This can be especially
useful with --install if you are concerned about security.
appupdater --user
This can be used in combination with any of the other commands discussed.
This will limit Appupdater config and temp files to the current user home
directory (or the same directory Appupdater is installed to). This will
not allow editing of systemwide configuration files.
You will probably want to use your own config.ini file, but it is not
required. You should look at setting the following values:
The Windows Service interacts with the desktop via a system tray icon. When
the service is performing updates it will provide notification popups through
the tray icon. Right click and it will also provide a menu of handy
functions.
If you did not use the installer, you should consider setting the following
configuration values. By default temporary files are stored on the hard
drive. If you have a large USB drive you may want to set CACHE_DIR to
"cache" so that the files are saved on the portable device. This prevents
having to download installation files on every computer that it is used on.
CACHE_DIR - directory for storing downloaded files and internal program information
TEMP_DIR - place to store temporary files
appupdaterw --tk
This will force Appupdater to run with the Tk version only. This is the most
compatible GUI because python.org ships with it included.
appupdaterw --qt
This will force Appupdater to run with the Qt version only. This Requires
PyQt to be installed on your system.
5. ENTERPRISE DEPLOYMENT
========================
Enterprise deployment is really easy. Having your own XML files is not
required, but will be the only way to deliver non-freely available
applications. See the next section for information on that.
2. You should only use one of these methods! If you run both and they are
loading different configuration files you may have serious problems.
2.a. Have a script run whenever you want to push new applications, perhaps daily:
appupdater --update --config Myconfigfile
appupdater --load Myfilepath --config Myconfigfile
- OR -
You will probably want to use your own config.ini file, but it is not
required. The same rules apply as for Myfilepath. You should look at
setting the following values:
For the client setup you should review ENTERPRISE DEPLOYMENT. You will need
to use your own config.ini file and set APPS_XML at a minimum. You should
also look at setting the following values:
APPS_XML - This needs to be set to load the XML file from your repository
REPORTING - This is on by default, can create privacy concerns, but it can
also provide valuable feedback on new applications if you are running a HTTP
server with scripting
UNKNOWN_TXT - Alternatively you might want to set this to a shared network
directory if you don't have a HTTP server for REPORTING
UPDATE_EXPIRE - You may want to lower this time if you want more rapid
deployment cycles.
6.2. Tools
----------
appupdateri - This package ships with an inventory tool (appupdateri) to
create a baseline of what applications are currently installed on the
system. It searches for .exe files in directories where they are normally
found and generates inventory.xml, which can easily be used as an apps.xml
template. Use the APPS_XML option to point appupdater to this file and run
appupdater --update, then appupdater --list. You will then find a file
called unknown.txt in the cache directory that contains information useful
for creating your custom versions.xml file.
7. PERMISSIONS
==============
Appupdater operates in two modes depending on which mode it is started in,
"system" and "user." You can control access to who can manipulate the
service using file permissions.