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:
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)
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
{{percentage}} % positiv
DANKE für deine Bewertung!
Fragen / Kommentare
(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]
User: ralle Hallo, funktioniert das auch unter Linux oder nur unter windows. Ich möchte msi pakete unter linux für windows erstellen. Danke
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.
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.
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?
herunterladen und anpassen (je nachdem was das msi-Paket machen soll)
Beitrag erstellt von Bernhard
User: teed super Anleitung, funktioniert wunderbar, MakeMSI ist sehr flexibel