Autor Beitrag
galagher
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2422
Erhaltene Danke: 44

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Mo 13.07.20 17:45 
Hallo!

In einem schon etwas älteren Beitrag 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?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18853
Erhaltene Danke: 1657

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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:
ausblenden Quelltext
1:
2:
3:
HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Known Packages
HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Library\Win32
...

Für diesen Beitrag haben gedankt: galagher
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2422
Erhaltene Danke: 44

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Di 14.07.20 15:58 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
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:
ausblenden 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?

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18853
Erhaltene Danke: 1657

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 14.07.20 17:30 
user profile icongalagher hat folgendes geschrieben Zum zitierten Posting springen:
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:
entwickler-ecke.de/v....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...

Für diesen Beitrag haben gedankt: galagher
galagher Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2422
Erhaltene Danke: 44

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Mi 15.07.20 07:14 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
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.

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18853
Erhaltene Danke: 1657

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 15.07.20 13:34 
user profile icongalagher hat folgendes geschrieben Zum zitierten Posting springen:
Ja, stimmt... Und es wird nicht egal sein, welche Buildkonfiguration ich angebe. Ich glaube, ich lasse das.
Aber was ist denn daran schwierig?
ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2422
Erhaltene Danke: 44

Windows 10 Home
Delphi 10.1 Starter, Lazarus 2.0.6
BeitragVerfasst: Mi 15.07.20 18:12 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
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.

_________________
gedunstig war's - und fahle wornen zerschellten karsig im gestrock. oh graus, es gloomt der jabberwock - und die graisligen gulpen nurmen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18853
Erhaltene Danke: 1657

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 15.07.20 23:34 
user profile icongalagher hat folgendes geschrieben Zum zitierten Posting springen:
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
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Fr 07.08.20 15:57 
Hallo,

genau die selbe Frage habe ich mir auch gestellt. Hoffe jemand weiß weiter :)

Mfg Carina