Skip to content

fmezou/lappdeploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

History of lAppUpdate

At the beginning, I searched a means to deploy application for my two personal pc from a home server (based on freenas). My searches led me to the following products:

  • OCS Inventory NG: it's a good choice for IT professional who manages thousands of PC, and an agent must be deployed on every PC.
  • Active Directory GPO: you can do this with a Windows Server or a server with Samba configured in domain controller mode. The main constraint is that GPO accept only MSI package.

So I choose to develop my own deployment system built around two main module : the first one, named appdeploy, deploys application, the second one, named appdownload, checks and downloads applications' updates if any (or the full installation package).

Requirements

The requirements for this project were:

  • appdeploy must run on windows 7 without prerequisites (I.e. no agent must be prior installed). Theses implies that this modules must be written in Command shell or Windows Script Host.
  • appdeploy must run from a network share (aka from a UNC path) or a removable disk (CD or DVD, USB stick...).
  • appdeploy must work with any type of installation package (MSI package, EXE package or a classic distribution with files and a setup.exe).
  • appdeploy must have pre install and post installation hook to customize the start menu or install additional packs (e.g. Firefox extension, VirtualBox Extension Pack, Tortoise Language Pack...)

appdeploy

This script is a public script. It launches the installer package of the standard application. See Usage description syntax for details about used syntax.

Usage

appdeploy [set]

Arguments

set

is the set name, the script use a file named applist-[set].txt which matching applist file format. all is the default value.

Exit code

0 no error

1 an error occurred while filtering application

2 invalid argument. An argument of the command line is not valid (see Usage)

Environment variables

The following environment variables affect the execution of appdeploy:

APP_STORE_DIR

Contain the path for installation package and the applist files.

TO_MAIL_ADDR

Contain the mail address of the mail recipient (typically a system administrator)

FROM_MAIL_ADDR

Contain the mail address of the mail sender (typically machine mail address)

SMTP_SERVER

Contain the fully qualified name of the SMTP server to use

SMTP_SERVER_PORT

Contain the SMTP server’s port number to use

UPDATE_LOGFILE

Contain the full path name of the current log file. All log entries for the current update transaction are write in this file.

WARNING_LOGFILE

Contain the full path name of the current warning log file. All warning messages for the current update transaction are write in this file.

SUMMARY_LOGFILE

Contain the full path name of the current summary log file. All summary messages for the current update transaction are write in this file.

ARCHIVE_LOGFILE

Contain the full path name of the persistent log file. All messages for the current update transaction are write in this file.

SILENT

Specify the scripts logging mode.

LOGMAIL

Specify if a mail containing the current appdeploy log messages will be sent (see _log2mail script).

LOGLEVEL

Specify the maximum level of log entries written in log files (see UPDATE_LOGFILE and WARNING_LOGFILE).


This file was automatically generated by TiddlyWiki.