System Pfade, Crash Q09042008

Fragen zum AKInstallerMSI
Antworten
agolde
Beiträge: 27
Registriert: 12.02.2007, 16:22
Wohnort: Taunusstein

System Pfade, Crash Q09042008

Beitrag von agolde »

Hallo,

ich benutze die Version 1.9.355, WinXP Pro 32bit.

Wenn ich den Dialog zum Anlegen einer Pfadvariable öffne, und direkt auf den Button zur Auswahl des Pfades klicke, stürzt der AKInstaller kommentarlos ab.


Wie komme ich an die aktuellen System-Pfade von Windows heran um sie in einer Variable zu benutzen ?

In 'Dateien & Verzeichnisse' habe ich ja auch die Möglichkeit, Dateien in 'Spezielle Ordner' zu kopieren.

Wichtig wäre, das die Pfade erst zur Laufzeit der eigentlichen Installation ermittelt werden und nicht statisch im stpm File gespeichert werden.

Hintergrund : Verschiedene Windows-Installationen mit unterschiedlichen Laufwerksbuchstaben.

Grüße
Alexander Golde
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Tag!

Zum Crash:
Sie sind auf der Seite Pfadvariablen, wählen Eintrag anlegen -> im Dialog klicken Sie auf das Popup-Symbol von Pfad (oben oder unten?) und dann kommt unter 1.9.x zum Absturz, richtig?

[Edit:] Mit 1.9. konnte das nicht reproduziert werden. Können Sie den Vorgang näher beschreiben?

Bei dem Rest der Frage weiß ich nicht genau, was Sie meinen.
Die Pfadvariablen haben nichts mit der Installation zu tun, sondern nur mit dem lokalen System (also Ihrem Entwicklungsrechner).

Ich fürchte, hier benötige ich mehr Informationen, was genau wollen Sie erreichen?
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
agolde
Beiträge: 27
Registriert: 12.02.2007, 16:22
Wohnort: Taunusstein

Beitrag von agolde »

Hier ist der Vorgang 'live' :

Bild

( Die Farben stimmen allerdings nicht ).


Pfade:

Angenommen, ich habe den Installer.stpm auf einer Windows Installation erstellt, die auf 'C:\' liegt.

Mein Project benötigt ein paar MergeModule, die binde ich z.b. so ein :

<MERGEMODULPATH>\Microsoft_VC80_CRT_x86.msm

MERGEMODULPATH zeigt dann auf : "C:\Program Files\Common Files\Merge Modules\".

Ich kann jetzt den Installer auf dieser Maschine bauen, kein Problem bisher.

Jetzt nehmen wir an, ich habe einen anderen Rechner z.b. die 'Build Machine'.

Da liegt auf 'C:\' ein Windows 2008 Server, und ein WinXP auf 'G:\'.
Jetzt starte ich das WinXP um den Installer dort zu bauen.

Jetzt müsste der MERGEMODULPATH automatisch auf : "G:\Program Files\Common Files\Merge Modules\" zeigen. Geht das ?

Grüße
Alexander Golde
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Tag!

Absturz:

Der Absturz lässt sich unter XP mit der Version 1.9.335 nicht reproduzieren.
Bitte versuchen Sie folgendes:
-Machen Sie vom Ordner AKInstallerMSI eine Kopie (falls sich dort Projekte befinden)
-Deinstallieren Sie die Anwendung komplett.
-Laden von http://www.akapplications.com -> AKInstallerMSI -> Ältere Versionen >> die Version V1.9.335 herunter und installieren diese.

Die 1.9.355 ist die gleiche Version, mit der getestet wurde.

Pfade:
< DOCUMENTFOLDER>, < WINDOWS> und < SYSTEM> werden beim Laden angepasst, Sie könnten Ihre Pfadvariable relativ dazu anlegen.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
agolde
Beiträge: 27
Registriert: 12.02.2007, 16:22
Wohnort: Taunusstein

Beitrag von agolde »

Also wäre

<WINDOWS>\..\Program Files\Common Files\Merge Modules\

für meinen MERGEMODULPATH zu setzen ?

Wenn ich dann den Installer bauen lasse, bekomme ich Fehlermeldungen dieser Art :

Mergemodul nicht gefunden: \Program Files\Common Files\Merge Modules\Microsoft_VC80_CRT_x86.msm.

Mergemodul nicht gefunden: \Program Files\Common Files\Merge Modules\policy_8_0_Microsoft_VC80_CRT_x86.msm.

Mergemodul nicht gefunden: \Program Files\Common Files\Merge Modules\Microsoft_VC80_MFC_x86.msm.

Mergemodul nicht gefunden: \Program Files\Common Files\Merge Modules\policy_8_0_Microsoft_VC80_MFC_x86.msm.

Abgeschlossen: 4 Fehler, 0 Warnungen.

Scheint so, als ob WINDOWS nicht besetzt ist...

Besser wäre es, wenn ich eine größere Auswahl der Systempfade hätte.

Man könnte ja wohl von WINDOWS c:\windows eine Ebene höher gehen ( ..\ ), aber wer sagt mir ob 'Program Files' auf der aktuellen Installation nicht 'Programme' ist ???!!


Nach der Neu-Installation vom AKInstaller stürzt er jetzt auch nicht mehr ab...
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Morgen!

Ich setze das mit den zusätzlichen Pfaden mal auf den Plan.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
agolde
Beiträge: 27
Registriert: 12.02.2007, 16:22
Wohnort: Taunusstein

Beitrag von agolde »

Prima.

Mache ich irgendetwas falsch mit

"<WINDOWS>\..\Program Files\Common Files\Merge Modules\"

für meinen MERGEMODULPATH ?

Wie komme ich an den Laufwerksbuchstaben ?

Grüße
Alexander Golde
Andreas Kapust
Administrator
Beiträge: 1085
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Guten Tag!

Sie haben eine weitere Variable (MERGEMODULPATH ) angelegt, die von einer anderen Variable (WINDOWS) abhängig ist.
Dies geht zur Zeit nur mit DOCUMENTFOLDER und AKIAPPPATH.

Entfernen Sie das Mergemodul von der MSM-Seite (aus der Liste und der Übersicht (links & rechts)).

Schalten Sie Pfadvariablen anbieten im Toolbar ein .
Importieren Sie das/die MSM in der rechten Liste.

Ziehen Sie die entsprechenden MSMs in die Linke Liste und wählen als Pfadvariable <WINDOWS> aus.

Sie erhalten "<WINDOWS>\..\Program Files\Common Files\Merge Modules\".

Das Problem ist, dass Sie damit auf einem deutschen XP nix werden.

Hier hilft nur das aufbohren der Pfadvariablen-Funktion in einer der nächsten Versionen.

[Edit:]
Änderungen mit dem nächsten Update (nach 2.0.951):

<DOCUMENTFOLDER> = Pfad der STPM-Datei.
<AKIAPPPATH> = Installationsverzeichnis des AKInstallerMSI.
<WINDOWS> = CSIDL_WINDOWS
<SYSTEM> = CSIDL_SYSTEM
<COMMON_DOCUMENTS> (*) = CSIDL_COMMON_DOCUMENTS
<COMMON_FILES> (*) = CSIDL_PROGRAM_FILES_COMMON
<PROGRAMFILES> (*) = CSIDL_PROGRAM_FILES
<LOCAL_APPDATA> (*) = CSIDL_LOCAL_APPDATA

(*) Die Variable wird nicht angelegt, sondern muss selbst angelegt werden.
Ist sie einmal vorhanden, wird sie bei Laden ebenfalls angepasst.

Das sollte das Problem beheben.
Mit freundlichen Grüßen,
AKApplications, Andreas Kapust
Antworten