Beliebiges Programm mit dem Starter starten
Liefern Sie ein Programm aus, das keine Access-Anwendung ist – oder ein Dokument, das sich über seinen Dateityp öffnet –, sodass die Benutzer es mit einem Klick starten, immer in der aktuellen Version, für sie installiert ohne Administratorrechte.
Voraussetzungen: WKL Bootstrapper 2.0 (Projektdatei im Format 2). Microsoft Access wird nicht benötigt.
Lösungsüberblick
fileskopiert das Programm aus der Quelle in einen Ordner je Version,[VersionDir].versionübernimmt die ausgelieferte Version aus einem festen Wert (value) oder aus der Produktversion einer Datei der Auslieferung (from).startnennt, was der Starter startet:file,arguments,folder(den Arbeitsordner) undenvironment(Variablen, die das gestartete Programm erhält).bitnessentscheidet, welche mitx86oderx64gekennzeichneten Einträge installiert werden. Der Standardaccessfolgt der Bitbreite von Microsoft Access und, wenn kein Access installiert ist, der von Windows; für ein eigenes Programm setzen Sieos,x86oderx64.
Umsetzung
- Legen Sie die Auslieferung auf die Freigabe, zum Beispiel
\\server\share\lagermit dem Programm inbin. Schreiben Sie die Projektdatei
bootstrapper.jsonnebenWkl.Bootstrapper.exe:{ "format": 2, "product": "Lager", "display": { "name": "Lagerverwaltung", "publisher": "Contoso" }, "version": { "from": "bin\\Lager.exe" }, "source": "\\\\server\\share\\lager", "bitness": "os", "files": [ { "id": "bin", "source": "bin", "target": "[VersionDir]" } ], "shortcuts": [ { "folder": "[Programs]\\Contoso", "name": "Lager", "target": "[Starter]", "arguments": "[RunConfig]" } ], "start": { "file": "[VersionDir]\\Lager.exe", "arguments": "/user \"[Product]\" /data \"[AppDir]\\Data\"", "folder": "[VersionDir]", "environment": [ { "name": "LAGER_HOME", "value": "[Dir:bin]" } ] } }Die Verknüpfung startet den Starter, nicht das Programm, sodass jeder Start zuerst nach einer neuen Version sucht.
Prüfen Sie die Datei und probieren Sie einen Start aus, ohne etwas zu ändern:
Wkl.Bootstrapper.exe /check bootstrapper.json Wkl.Bootstrapper.exe /whatif bootstrapper.json
/checkendet mit 0, wenn die Datei keine Regel verletzt; die Auslieferung liest es nicht./whatifendet mit 0, wenn ein Start gelingen würde (die Auslieferung eingeschlossen), und listet den Plan auf.- Starten Sie es.
Wkl.Bootstrapper.exeinstalliert die Version (oder verwendet die installierte) und startetLager.exein[VersionDir]mit den Argumenten und der Variablen.
Um statt eines Programms ein Dokument zu öffnen, nennen Sie es in start.file (zum Beispiel
[VersionDir]\Handbuch.pdf); das für seinen Dateityp registrierte Programm öffnet es.
Hinweise
- Eine Datei mit der Erweiterung
.exe,.com,.batoder.cmdwird direkt über ihren Pfad gestartet; jede andere Datei wird über ihren Dateityp geöffnet. Ein Dateityp kann die Datei an ein Programm übergeben, das bereits läuft; das gilt trotzdem als gestartet. - Ein Programm, das sofort endet, ist kein Fehler (ein Startprogramm, ein Skript, ein Programm, das an eine laufende Instanz übergibt). Ein Programm, das sich überhaupt nicht starten lässt, beendet den Starter mit Code 60.
start.folderist standardmäßig der Ordner vonstart.file.start.environmentsetzt jede Variable nur für das gestartete Programm; ein Name darf einmal je Bitbreite vorkommen, mitbitnessx86oderx64an einem Eintrag, um ihn nur für diese Bitbreite zu setzen. Die installierte Version behält die Variablen, sodass auch ein Start ohne Quelle sie setzt.start.fileliegt meist unterhalb von[VersionDir]. Es kann auch ein anderweitig installiertes Programm über seinen vollständigen Pfad nennen; der Starter installiert dann nur die übrigen Einträge des Projekts.start.runtimeundstart.commandgelten nur, wennstart.fileeine Access-Datenbank ist (.accdb,.accde,.accdr,.accda,.mdb,.mde,.adp,.ade); für jede andere Datei werden sie ignoriert, und stattdessen wirdstart.argumentsverwendet.- Ein leeres
start.fileinstalliert und startet nichts; der Starter endet dann mit 0, wenn die Installation vollständig ist. - Der vertrauenswürdige Speicherort von Access wird nur geschrieben, wenn
start.fileeine Access-Datenbank ist.
Verwandte Themen
- Die Projektdatei (Format 2) – jeder Eintrag und jeder Platzhalter
- Private .NET-Runtime ausliefern – wenn das Programm .NET braucht