Script Examples vbscript autoit php batch

msi Pakete erstellen freeware makemsi - How To

(8)
Artikel bewerten
(19)

mit dem Freeware Tool MakeMSI (Dennis Bareis) selbst msi-Pakete für Softwaredeployment erzeugen




schnell mal ein msi-Paket selbst gebaut:

in diesem Beispiel zeigen wir anhand von makemsi und einem sehr einfachen Beispiel,
wie schnell und ohne Vorkenntnisse ein msi Paket erstellt werden kann.

Unser einfaches Beispiel kann dann folgendes:
- Files kopieren (dll und ocx Dateien , falls vorhanden, werden automatisch registriert)
- Registrierungseinträge anlegen
- eine Batchdatei starten (aus dem msi-Paket heraus)

1) Voraussetztung: Makemsi downloaden und installieren: Download Makemsi

2) unser Beispiel runterladen und anpassen:

simple_example_files_for_makemsi.zip Größe:(11.45 kB): Download .
das Beispiel ist folgendermaßen aufgebaut:

Download

Dateien und Ordner im Ordner Desktop werden auf den Desktop kopiert,
Dateien und Ordner im Ordner Programme unter Programme,
Start Menu ins Start Menü
und Temp in einen temporären Ordner

in unserem Beispiel kopieren wir eine Batch-Datei in den temporären Ordner und führen diese am Ende der Installation aus.

unser Beispiel Script
hier das Beispiel, in rot gehaltene Zeilen müssen wir anfangs nicht anpassen,
interessant fürs erste ist der Teil:"what should the installation do?":
dieser kann angepasst, ergänzt oder Teile weggenommen werden.
Nach der Eingewöhnungsphase, kann dann auch der rote Teil betrachtet werden, soll uns aber momentan nicht vom wesentlichen ablenken.

;----------------------------------------------------------------------------
;--- Global Definitions         -----
;----------------------------------------------------------------------------
#define VALID_MSIVAL2_DIR C:\Programme\MsiVal2  ;;Used before loading MSI header
;--- Include MAKEMSI support (with my customisations and MSI branding) ------
#define VER_FILENAME.VER  version.Ver      ;;I only want one VER file for all samples! (this line not actually required in "tryme.mm")
#include "ME.MMH"
;;;; Disabling Dialog??
;--- Prevent "UISAMPLE" trying to manipulate the dialog deleted below -------
#define UISAMPLE_DISABLE_TYPICAL_SETUP N
#define REMOVED_LicenseAgreementDlg N
#define "ME.MMH"

;--- Remove the dialog ------------------------------------------------------
<$DialogRemove "SetupTypeDlg"> ;; do not ask for Typical Custom complete
<$DialogRemove "LicenseAgreementDlg"> ;;ignore lizenz.rtf File
;----------------------------------------------------------------------------

;--- Want to debug (not common) ---------------------------------------------
;#debug on
;#Option DebugLevel=^NONE, +OpSys^
;--- Define default location where file should install and add files --------

;Installdir:
<$DirectoryTree Key="INSTALLDIR" Dir="c:\Progra~1" CHANGE="\" PrimaryFolder="Y">
;----------------------------------------------------------------------------
;--- what should the installation do? -----
;----------------------------------------------------------------------------

;Example for Filecopy:
<$Files "files\Programme\*.*" SubDir="TREE" DestDir="INSTALLDIR">
<$Files "files\Desktop\*.*" DestDir="[DesktopFolder]">
<$Files "files\Start Menu\*.*" SubDir="TREE" DestDir="[ProgramMenuFolder]">
<$Files "files\temp\*.*" DestDir="[TempFolder]">

;----------------------------------------------------------------------------
;--- Add a registry entry (let it create a component - GUID not fixed!) -----
;----------------------------------------------------------------------------
<$Registry HKEY="LOCAL_MACHINE" Key="SOFTWARE\testkey" Value="testkey_script_example.com">

;----------------------------------------------------------------------------
;--- start a batch script                 -----
;----------------------------------------------------------------------------
#(
    ;--- Run after install, ignore return code and don't wait for completion ---
   <$ExeCa
             EXE='[TempFolder]testtemp.cmd' Args=^"MsgBox Title" "MsgBox text..."^
         WorkDir="TempFolder"
             SEQ="InstallFinalize-"   Type="immediate ASync AnyRc"
      Condition="<$CONDITION_INSTALL_ONLY>"
   >
#)


Wichtig:
mit dem durch makemsi installierten Tool "GUID Generation" muss für jedes Installationspaket eine eigene GUID generiert und im File: "version.ver" eingetragen werden, da ansonsten beim Setup ein Paket das andere deinstalliert (gleiche GUID)


nach erfolgreichem Anpassen des Skriptes kann die MSI-Datei generiert werden,
dazu ein rechtsklick auf "installscript.mm" und "Build MSI - Development" (das msi-File wird dann in dem Ordner "out" abgelegt)

Download

weitere Beispiele sind im Setup abgelegt: "C:\Programme\MakeMsi\Samples\TryMe";
Für eine detaillierte Beschreibung die Hilfe zu Makemsi ansehen (wird mitinstalliert),
oder Online: Makemsi Manual
link zum Hersteller dennisbareis.com/makemsi.htm
Download: Download Makemsi- free msi
<<< Setupverhalten eines MSI-Paketes anpassen mit Hilfe von ORCA Silent Install switch div. Setuproutinen (Unattended Installation) >>>


neue Themen

Stichwortsuche auf dieser Seite:
05.02.2012 09:59 zZ 15 Leser online
Powered by cms.libe.net 2004-2012