Aktuelles Lazarus auf einem USB Stick?

Für Installationen unter Windows
Antworten
Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Aktuelles Lazarus auf einem USB Stick?

Beitrag von Timm Thaler »

Ich würde gern eine minimale Lazarus / FPC Version auf einem USB Stick portabel machen. Die Installation soll dann Programmieren und Kompilieren an fremden PC ermöglichen, ohne diese zu beeinflussen. Erstmal unter Windows, eventuell auch für Linux.

Lazarus 1.8, FPC 3.0.4 idealerweise
nur die benötigten Dateien, also keine Sourcen, keine Examples
Einstellungen auf dem Stick
beliebiger Laufwerksbuchstabe
für Windows 7, eventuell Win 10

Ist das machbar? Die Anleitungen zu Lazarus portable weiter unten sind leider ziemlich veraltet oder nicht mehr verfügbar.

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von mischi »

Ich würde es zuerst mit Sourcen von fpc und lazarus versuchen.
MiSchi macht die fink-Pakete

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von wp_xyz »

Ich hab's eben so ausprobiert:

  • Lazarus-Verzeichnis von der HD auf den Stick kopieren (hier: nach e:\lazarus, wobei e: der Laufwerksbuchstabe des Stick ist)
  • Verzeichnis für die Lazarus-Configuration auf dem Stick erstellen (hier: e:\lazarus-config)
  • Da viele Dateien absolute Verzeichnisnamen enthalten, müssen diese Dateien neu erstellt werden. Am einfachsten ist es die folgende Batch-Datei auszuführen:

    Code: Alles auswählen

    @echo off
     
    set /p DRIVE= "Laufwerksbuchstabe des Stick (ohne Doppelpunkt)?"
    set DRIVE=%DRIVE%:
    if "%DRIVE%"=="c:" goto :Fehler
    if "%DRIVE%"=="C:" goto :Fehler
     
    :: Verzeichnis, in dem sich der bin-Unterordner der fpc-Installation befindet
    set LAZ_DIR=%DRIVE%\lazarus
    set LAZ_CFG=%DRIVE%\lazarus-config
    set FPC_DIR=%LAZ_DIR%\fpc\3.0.4
    set TARGET=i386-win32
    :: set TARGET=x86_64-win64
     
    :: verification
    echo LAZ_DIR=%LAZ_DIR%
    echo FPC_DIR=%FPC_DIR%
    echo TARGET=%TARGET%
    echo LAZ_CFG=%LAZ_CFG%
     
    if exist %LAZ_DIR%\lazarus.cfg del %LAZ_DIR%\lazarus.cfg
    echo --primary-config-path=%LAZ_CFG% > %LAZ_DIR%\lazarus.cfg
    if exist %LAZ_CFG%\. del /s %LAZ_CFG%\*.*
    %FPC_DIR%\bin\%TARGET%\fpcmkcfg -d basepath=%FPC_DIR% -o %FPC_DIR%\bin\%TARGET%\fpc.cfg
    goto :Fertig
     
    :Fehler
    echo "Laufwerksbuchstabe C: nicht erlaubt"
    goto :Fertig
     
    :Fertig
     
    pause
  • Lazarus vom Stick starten --> Da das Config-Verzeichnis durch den Batch neu erstellt wird, wird man nach den Grundeinstellungen gefragt. OK reicht.
  • Benötigte Packages neu installieren (nur solche, deren Sourcen auf dem Stick sind) --- ist quälend langsam...
  • Fertig. Läuft.
  • Ändert sich der Laufwerksbuchstabe, muss man den Batch nochmals aufrufen und Laz nochmals neu kompilieren. Nicht schön... Aber vielleicht schreibt jemand ja ein Programm, das die Lazarus/FPC-Config-Dateien durchgeht und den Laufwerksbuchstaben ändert.

Die Sourcen würde ich mir auf jeden Fall mit auf den Stick nehmen, über die Beispiele kann man diskutieren. Insgesamt ist mein 16GB Teststick mit 2GB belegt (wobei ich vor dem Kopieren diverse Beispielprogramme kompiliert hatte, ohne die Debuginformationen zu entfernen.
Zuletzt geändert von wp_xyz am Do 30. Aug 2018, 12:22, insgesamt 1-mal geändert.

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von Mathias »

Ist das machbar? Die Anleitungen zu Lazarus portable weiter unten sind leider ziemlich veraltet oder nicht mehr verfügbar.

Versuche es doch mal mit fpcupdeluxe.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von Timm Thaler »

Kann man nicht statt absoluter Pfade mit Laufwerksbuchstaben mit relativen Pfaden arbeiten? Dann wäre das Laufwerk egal.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von wp_xyz »

FPC und Laz schreiben halt nun mal absolute Pfade in the Config-Dateien...

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von Socke »

wp_xyz hat geschrieben:FPC und Laz schreiben halt nun mal absolute Pfade in the Config-Dateien...

Dann muss man sich ein "StartStartLazarus"-Programm schreiben, das alle Config-Dateien von Lazarus und FPC ändert. Das sollte per RegExpr nicht allzu lange dauern.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von Timm Thaler »

wp_xyz hat geschrieben:FPC und Laz schreiben halt nun mal absolute Pfade in the Config-Dateien...


Und wenn ich die einmalig auf relativ ändere und dann schreibschütze?

Wenn meine Konfig einmal steht, muss da nicht viel mehr als die aktuelle Fensterpos gespeichert werden. Damit kann ich leben...

Ich schau mir das am WE mal an, bin grad unterwegs.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von wp_xyz »

Relativ schon gleich gar nicht, denn ich bin ziemlich sicher, dass sich das "relativ" auf das aktuelle Arbeitsverzeichnis bezieht, nicht auf das Verzeichnis mit lazarus.exe und fpc.exe. Du kannst höchstens versuchen, den Laufwerksbuchstaben herauszulöschen (also "\lazarus" statt "e:\lazarus"), dann funktioniert es wahrscheinlich, solange du (oder dein Programm) nicht das Laufwerk wechselst. Das wird sicher einmal auftreten und zwar dann, wenn du dies alles vergessen hast. Untersteh dich, und stell dann im Forum eine Frage, warum dein Lazarus nicht mehr richtig funktioniert! :wink:

Die einzig vernünftige Lösung ist, sich ein Programm zu schreiben, das z.B. nach dem Anstecken des Stick oder bei Bedarf gestartet wird und die Konfigurationsdateien mit dem gültigen Laufwerksbuchstaben aktualisiert.

mischi
Beiträge: 206
Registriert: Di 10. Nov 2009, 18:49
OS, Lazarus, FPC: macOS, 10.13, lazarus 1.8.x, fpc 3.0.x
CPU-Target: 32Bit/64bit

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von mischi »

wp_xyz hat geschrieben:Relativ schon gleich gar nicht, denn ich bin ziemlich sicher, dass sich das "relativ" auf das aktuelle Arbeitsverzeichnis bezieht, nicht auf das Verzeichnis mit lazarus.exe und fpc.exe. Du kannst höchstens versuchen, den Laufwerksbuchstaben herauszulöschen (also "\lazarus" statt "e:\lazarus"), dann funktioniert es wahrscheinlich, solange du (oder dein Programm) nicht das Laufwerk wechselst. Das wird sicher einmal auftreten und zwar dann, wenn du dies alles vergessen hast. Untersteh dich, und stell dann im Forum eine Frage, warum dein Lazarus nicht mehr richtig funktioniert! :wink:

Die einzig vernünftige Lösung ist, sich ein Programm zu schreiben, das z.B. nach dem Anstecken des Stick oder bei Bedarf gestartet wird und die Konfigurationsdateien mit dem gültigen Laufwerksbuchstaben aktualisiert.

Oder mit einem Betriebssystem arbeiten, das ohne Laufwerksbuchstaben auskommt. Duck und weg.
MiSchi macht die fink-Pakete

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von Timm Thaler »

mischi hat geschrieben:Oder mit einem Betriebssystem arbeiten, das ohne Laufwerksbuchstaben auskommt. Duck und weg.


Na dann, erzähl mal, wie geht es unter Linux?

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von Socke »

Timm Thaler hat geschrieben:
mischi hat geschrieben:Oder mit einem Betriebssystem arbeiten, das ohne Laufwerksbuchstaben auskommt. Duck und weg.


Na dann, erzähl mal, wie geht es unter Linux?

Das Problem mit den Pfaden ließe sich unter Verwendung aktueller Distributionen lösen. Dort werden externe Medien unter /media/<user>/<diskname> eingebunden; wenn also immer der selbe Username verwendet wird oder der USB-Stick unter /media/<diskname> eingebunden wird, kann man mit beiden Varianten arbeiten.

Schwieriger wird es, die Systembibliotheken jeweils kompatibel zu halten.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

MacWomble
Lazarusforum e. V.
Beiträge: 999
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 21.1 Cinnamon / FPC 3.2.2/Lazarus 2.2.4
CPU-Target: Intel i7-10750 64Bit
Wohnort: Freiburg

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von MacWomble »

Ursprünglich bezog sich die Frage auf Windows (was auch immer das ist).

Ich würde das jedenfalls auf einen hohen Laufwerksbuchstaben anpassen/einrichten (z.B. P: wie Pascal). Unter Windows kann man in der Systemsteuerung den Buchstaben dann zuweisen. Somit läuft man wesentlich geringere Gefahr, ständig umkonfigurieren zu müssen.

Generell führt das alles aber nicht wirklich zu einem sauberen Ziel:

1. Welches BS ist auf den Zielsystemen? W7, W8, W10 oder gar Vista oder XP
2. Sind alle Systeme 64Bit?
3. Welche Updates sind auf den Systemen vorhanden (nicht alle Systeme werden regelmäßig aktualisiert)?
4. Wird ein DB-Server verwendet?
5. Welche Sicherheitstools kommen zum Einsatz?
6. Kann ich überhaupt USB-Speicher verwenden (dies sollte zumindest in Firmen nicht ohne weiteres möglich sein.)
7. Wie wird Virenschutz sicher gestellt (der Stick ist ja dann u.U. an vielen (unbekannten) Systemen im Einsatz)
8. Kann ich auf dem Zielsystem ggf. Systemdateien nachinstallieren / ersetzen?
9. Dürfen meine Temp-Dateien auf dem Fremdsystem verbleiben?

u.v.m.

Nur wenn überall die Grundbedingungen gleich und überschaubar und alle Berechtigungen vorhanden sind führt das ganze zum (zweifelhaften) Erfolg.

Ich persönlich würde einen solchen Stick nicht auf fremden Rechnern einsetzen - nie.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.


thosch
Beiträge: 324
Registriert: Mo 10. Jul 2017, 20:32

Re: Aktuelles Lazarus auf einem USB Stick?

Beitrag von thosch »

Hast Du es mal mit einer externen Festplatte versucht?

Ich habe eine Vorgängerversion, die ich einst in meinem alten Rechner mal unter Windows korrekt installiert hatte, nun auf der inzwischen aus diesem Rechner ausgebauten Festplatte. Die habe ich in ein externes Gehäuse mit USB Anschluss eingebaut und betreibe die nun an meinem heutigen Rechner. Und da kann ich diese Lazarus Version starten. Unter Windows!

Ob und wie das unter Linux ausschaut, weiß ich leider nicht. Ich starte Linux vom USB Stick und habe dort Lazarus von Linux aus auf demselben Stick installiert.

Antworten