msi-Pakete erstellen Freeware MakeMsi How To

 

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

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!

Fragen / Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]

✍anonym
29.08.2016 08:12
User: ralle 
Hallo,

funktioniert das auch unter Linux oder nur unter windows. Ich möchte msi pakete unter linux für windows erstellen.

Danke

✍anonym
14.10.2013 16:44
User: anonymous 
Danke f den guten Beitrag!

✍anonym
16.08.2011 19:23
User: theo 
@Regulator:
  makemsi downloaden und installieren, die zip-Datei entpacken, und die exe in den Ordner temp legen (temp der entpackten zip datei,
  dann muss noch der bereich "start a batch script" mit dem Namen der exe Datei angepasst werden; wie beschrieben auf Build MSI - Development und fertig.

✍anonym
16.08.2011 10:15
User: Regulator 
Ich würde auch gerne wissen wie man mit dem Programm ein MSI Paket erstellt. wofür sind die Scripte? Wie passt man die an? Was muss man dann machen damit aus einer .exe ein .msi wird?
  usw...
  gibt es vielleicht eine detaillierte Anleitung anhand eines Programms aus dem dann ein MSI wird?
  Wäre super.
  danke schon mal.

✍anonym
26.01.2011 16:45
User: Dau 
was mache ich mit dem Script?
  welchen namen bekommt es, und wohin copiere ich das dann?
  wann führe ich welche Datei aus damit ich mir nun eine msi generiere?
✍Bernhard
gepostet am 26.01.2011 16:45
herunterladen und anpassen (je nachdem was das msi-Paket machen soll)

Beitrag erstellt von Bernhard

✍anonym
06.10.2010 15:06
User: teed 
super Anleitung, funktioniert wunderbar, MakeMSI ist sehr flexibel

✍anonym
22.07.2010 16:38
User: leo 
sehr hilfreich!

✍anonym
24.06.2010 15:20
User: url 
Danke für diesen super Beitrag!

✍anonym
21.06.2014 15:17
User: Stefan 
Wie kriegt man das Standard Logo raus?