You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2.8 KiB

This script creates a new OPSI package structure for various types of installer methods (Batch, Inno, NSIS...) to make software packaging a little easier.

The script needs the "convert" command from the ImageMagick software suite and cURL for downloading the setup file and package logo.

Usage:
  new-package.sh <product-id>

Optional parameters:
  -d <Product Description>    Adds a description to the package
  -n <Product Name>           Adds a product name instead of autogenerating one
  -g yes                      Adds the Gruelag prefix to package ID and name, do not manually add Gruelag when using this!
  -u <Program URL>            Downloads an installer file from the specified URL
  -i <Logo URL>               Applies a logo to the package from the specified URL
  -t <Package Type>           Sets the type of package to create, see below
  -v <Program version>        Sets the version of the program (not the package)

Package types:
  winbatch                    Creates a blank WinBatch package
  winbatch-inno               Creates a blank INNO Installer WinBatch package
  winbatch-nsis               Creates a blank NSIS Installer WinBatch package
  dosicon                     Creates a blank DosInAnIcon package
  execps                      Creates a blank ExecWith Powershell package
  zip                         Creates a blank ZIP based package
  msi                         Creates a blank MSI installer package
  weblinks                    Creates a weblink creator package

Parameters for 'zip' type package:
  -e <filename.exe>           Optional, specifies the launcher executable inside the ZIP file

Parameters for 'weblinks' type package:
  -l <link name>;<target url>;[<where>]    Can be used multiple times, specifies the URL and display name for one web link.
                                           <where> is optional and can hold one of the following values:
                                               'desktop' to create only desktop links on the public user desktop
                                               'startmenu' to create links only in the public user start menu
                                               'both' to create links at both places, this is the default

Example for Kdenlive:

new-package.sh \
  kdenlive \
  -d "Kdenlive is a free and open-source video editing software." \
  -n "Kdenlive" \
  -g yes \
  -u "https://download.kde.org/stable/kdenlive/22.12/windows/kdenlive-22.12.3.exe" \
  -i "https://kdenlive.org/wp-content/uploads/2016/06/favico.png" \
  -v 22.12.3 \
  -t winbatch-nsis

Then adjust the Uninstall path in uninstall.ins

Most basic example for weblinks package type:

new-package.sh \
  link-collection \
  -t weblinks \
  -l "First link to Google;https://google.com;desktop" \
  -l "Another link but to Yahoo;https://yahoo.com;both"