Entwickler-Ecke
Programmierwerkzeuge - Packages an der Befehlszeile installieren
galagher - Mo 13.07.20 17:45
Titel: Packages an der Befehlszeile installieren
Hallo!
In einem schon etwas älteren Beitrag
https://entwickler-ecke.de/viewtopic.php?t=117921 fragte ich, wie ich den Compiler dcc64.exe an der Befehlszeile aufrufe. Das klappt mit .dproj-Dateien.
Nun stellt sich mir in diesem Zusammenhang die Frage, ob ich auf diese Weise auch Packages installieren kann, denn da werden ja keine ausführbaren exe-Dateien erzeugt, sondern .bpl-Dateien, und ich habe da keine .pas-Dateien, sondern eine .pkg-Datei.
Dazu muss ich dann vermutlich DCC32.EXE aufrufen, oder? Und kann man dazu auch MSBuild.exe verwenden?
jaenicke - Mo 13.07.20 23:18
MSBuild ist die erste Wahl dafür. Das erstellt die Packages aber nur und installiert sie nicht.
Zur Installation kann man die Werte direkt in die Registry schreiben. Auf diese Weise lassen sich auch gut Pfade usw. setzen.
Tipps:
Quelltext
1: 2: 3:
| HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Known Packages HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Library\Win32 ... |
galagher - Di 14.07.20 15:58
jaenicke hat folgendes geschrieben : |
MSBuild ist die erste Wahl dafür. Das erstellt die Packages aber nur und installiert sie nicht.
Zur Installation kann man die Werte direkt in die Registry schreiben. Auf diese Weise lassen sich auch gut Pfade usw. setzen.
Tipps:
Quelltext 1: 2: 3:
| HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Known Packages HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Library\Win32 ... | |
Dachte mir, dass das nicht so einfach ist...
Wie sehen denn die Parameter beim Aufruf von MSBuild aus, und wo genau in der Registry müssen die Werte rein?
jaenicke - Di 14.07.20 17:30
galagher hat folgendes geschrieben : |
Wie sehen denn die Parameter beim Aufruf von MSBuild aus, und wo genau in der Registry müssen die Werte rein? |
Die Parameter hatte ich doch schon gepostet:
https://entwickler-ecke.de/viewtopic.php?p=716813#716813
Die Projektdatei alleine reicht glaube ich schon, allerdings sagst du dann nicht mit welcher Buildkonfiguration usw. kompiliert werden soll.
Und zur Registry muss man in diesem Fall eigentlich nichts weiter sagen... schau einfach mal rein, das ist selbsterklärend...
galagher - Mi 15.07.20 07:14
jaenicke hat folgendes geschrieben : |
Die Projektdatei alleine reicht glaube ich schon, allerdings sagst du dann nicht mit welcher Buildkonfiguration usw. kompiliert werden soll. |
Ja, stimmt... Und es wird nicht egal sein, welche Buildkonfiguration ich angebe. Ich glaube, ich lasse das.
jaenicke - Mi 15.07.20 13:34
galagher hat folgendes geschrieben : |
Ja, stimmt... Und es wird nicht egal sein, welche Buildkonfiguration ich angebe. Ich glaube, ich lasse das. |
Aber was ist denn daran schwierig?
Quelltext
1: 2:
| "C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\rsvars.bat" MSBuild.exe d:\components\SynEdit\SynEdit.dproj /target:Build /p:config=Release;Platform=Win32 |
Die erste Zeile ist immer gleich, einfach die rsvars.bat deiner Delphiversion aufrufen um msbuild mit Delphi nutzen zu können. Dann msbuild aufrufen mit dem Dateinamen der Projektdatei und zur Erzeugung, Buildkonfiguration Release und Plattform Win32 immer den genannten Parametern:
/target:Build /p:config=Release;Platform=Win32
Sprich du musst in dieser Batchdatei
nur den Namen deiner Projektdatei einsetzen. Wo ist denn da das Problem?!? Und aus dem anderen Thread dachte ich eigentlich, dass es bei dir schon einmal funktioniert hatte? :nixweiss:
Und in der Registry auch... ein Blick zeigt, dass unter Known Packages einfach jeweils die erzeugte .bpl Datei des Packages als Name eines Wertes steht und als Wert die Beschreibung des Packages.
Unter Library\Win32 stehen im Grunde die gleichen Werte wie in den Optionen. Eben in dem Fall relevant der Bibliothekspfad, auf Englisch Search Path, in dem wenig überraschend einfach das gleiche drin steht wie auch in den Optionen in Delphi.
Mit msbuild ist die Erzeugung auf der Kommandozeile wirklich ein absolutes Kinderspiel geworden. Wenn du dabei trotzdem Probleme hast, müsstest du konkret schreiben womit du aktuell ein Problem hast...
galagher - Mi 15.07.20 18:12
jaenicke hat folgendes geschrieben : |
Sprich du musst in dieser Batchdatei nur den Namen deiner Projektdatei einsetzen. Wo ist denn da das Problem?!? Und aus dem anderen Thread dachte ich eigentlich, dass es bei dir schon einmal funktioniert hatte? :nixweiss: |
Ja, das funktioniert auch, aber das Projekt noch einmal hervorholen und umschreiben, nur um dann das neue Programm
auch nicht zu benutzen? Ich meine, ich brauche das doch gar nicht, wenn Delphi das sowieso kann! Eine schöne Übung, aber mehr nicht.
Ok, vielleicht gehe ich das dann an, wenn ich mal ein neues Package installieren möchte.
jaenicke - Mi 15.07.20 23:34
galagher hat folgendes geschrieben : |
Ich meine, ich brauche das doch gar nicht, wenn Delphi das sowieso kann! Eine schöne Übung, aber mehr nicht. |
Wir verwenden das auf unserer Buildmaschine. Die checkt automatisch die aktuelle Version der Quelltexte aus und erstellt die Anwendungen und DLLs. Auf die Weise weiß man, dass nichts auf dem lokalen PC, das nicht im Repository ist, den Build beeinflusst.
entwickler123 - Fr 07.08.20 15:57
Hallo,
genau die selbe Frage habe ich mir auch gestellt. Hoffe jemand weiß weiter :)
Mfg Carina
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!