Startschwierigkeiten

Fragen zum AKInstaller
Antworten
tornado
Beiträge: 6
Registriert: 28.09.2004, 11:11
Wohnort: CH-5004 Aarau
Kontaktdaten:

Startschwierigkeiten

Beitrag von tornado »

Hallo Installer-Gemeinde

Ich habe mir heute dieses tolle Programm runtergeladen und bin beinahe erschlagen worden von dieser riesigen Vielfalt, puah :mrgreen:

Nun habe ich doch noch eine (Anfänger)-Frage :?:

Ich möchte u.a. durch das setup prüfen lassen, ob auf dem System bereits eine Access-Version >8 installiert ist, und wenn nein die AccessRuntime installieren lassen.

Eine Möglichkeit ist die Überprüfung mit dem Registrierschlüssel
HKEY_CLASSES_ROOT\.mdb Wert=Access.Application.xx

Wie gehe ich dazu vor?

Gruss
Roger
ist das Programm noch so klein, ein Fehler passt immer rein!
Andreas Kapust
Administrator
Beiträge: 1093
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Hallo!
Da würde ich den Programmsucher nutzen (freies Zusatzprogramm auf der Installer-WebSeite) und einen Programmstart von dem vorhandensein der Programmsucher-Variablen abhängig machen.
Falls da was unklar ist, einfach noch mal melden.

Gruß
A. Kapust
tornado
Beiträge: 6
Registriert: 28.09.2004, 11:11
Wohnort: CH-5004 Aarau
Kontaktdaten:

Beitrag von tornado »

Hallo

Ja, ich habe mich inzwischen versucht noch etwas schlauer zu machen und habe den Programmsucher auch gefunden und eingesetzt. :)

Im weiteren habe ich gelesen, dass in der stvar.ini das Resultat der gefunden Version reingeschrieben wird (habe ich auch getestet - und es stimmt!)

Was ich jedoch noch nicht durchschaut habe, wie das ganze Konzept nun ablaufen soll.

Mein Projekt:
Ich habe ein Access-Programm geschrieben, das ich nun mit einer CD vertreiben will. Dieses Access-Programm braucht eine gültige Access-Version ab 8.0, ansonsten muss die auf der CD vorhanden AccessRuntime installiert werden!

In meiner Test-stvar.ini steht zur Zeit "MSACCESSVersionVar=10".

Wie muss ich nun vorgehen, damit nach der Installation meines Programmes die Access-Prüfung durchläuft und bei Version <8 die Runtime installiert.

Existiert vielleicht eine kleine Test-Datei, die mehrere Schritte ausführt?Dann könnte ich mir diese Datei mal näher ansehen, um auf meine persönliche Lösung zu kommen!

Wie gesagt, ich blicke beim Konzept noch nicht durch von wegen Hauptdatei (?), Variablen (wo wird ausgewertet, wo muss was rein).

Bin sehr dankbar für weitere Hilfe!

Schönes Wochende
Roger
ist das Programm noch so klein, ein Fehler passt immer rein!
Andreas Kapust
Administrator
Beiträge: 1093
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Hallo

:( Der Programmstart prüft z.Z. nur auf das vorhandensein und bestimmte Werte von Variablen. Ein <,> >=, <= gibt es zur Zeit leider noch nicht.

Wenn Sie selber programmieren können, können Sie an der Stelle aber auch ein eigenes Programm einbinden, welches die Variable MSACCESSVersionVar (oder eine andere) bei der Version 10 oder höher auf 0 und bei 9 und kleiner auf 1 stetzt. Anschließend wird dieses in Programmstart -> Variablen -> Ausführen, wenn eingetragen.

Bei Gelegenheit werde ich mal ein kleines Programm nachlegen, das solche Prüfungen mit Variablen macht. Oder dieses direkt in den Programmstart einbinden. Einen Zeitpunkt kann ich dafür aber noch nicht nennen.

Gruß
A. Kapust
tornado
Beiträge: 6
Registriert: 28.09.2004, 11:11
Wohnort: CH-5004 Aarau
Kontaktdaten:

Beitrag von tornado »

Hallo

Hilfe, ich komme einfach nicht weiter :( :(

Hat mir jemand ein kleines Beispiel, wie ich die stvar.ini auswerten muss, und je nach Resultat ein Programm zu installieren oder eben nicht!

Ich habe es bis jetzt nicht geschnallt, wo was rein muss:

- das zu installierende Programm
- die Auswertung der stvar.ini
- den Programmsucher

????

Vielen Dank
Roger
ist das Programm noch so klein, ein Fehler passt immer rein!
Andreas Kapust
Administrator
Beiträge: 1093
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Hallo!

Wie schon gesagt kann der Programmsucher nur bestimmten ob eine bestimmte Version da ist. Es geht nicht sowas wie kleiner als Version XY.

Hier müssten Sie also selber eines einfügen. Ich gehe jetzt mal davon aus, dass ein entsprechendes Programm vorhanden ist.

Die Programmsucher-Variante(PS) wird als erstes in den Programmstart eingefügt. Wichtig, Auf Beendigung warten.
Anschließend kommt die Rundtime in den Priogrammstart.. Wichtig die üblichen Schalter /R:N in Weitere Parameter eintragen Auf Beendigung warten und in Variablen Ausführen, Wenn (AW) tragen Sie die Variable des PS ein.

Zu beachten ist, dass der PS VOR der Runtime eingetragen ist. Zur not muss dieses mit den Control links unten geändert werden. Un dass bei beiden Auf Beendigung warten genutzt wird.

Gruß A.K.
tornado
Beiträge: 6
Registriert: 28.09.2004, 11:11
Wohnort: CH-5004 Aarau
Kontaktdaten:

Beitrag von tornado »

Sorry, aber ich glaub ich bin zu blöd :shock:

Ich schnalle es immer noch nicht :(

Ich möchte ganz einfach mal nachvollziehen, wie der AKInstaller ein Setup-Programm erstellt und das Setup die Installation ausführt oder eben nicht! (ohne < oder >= )

Dazu habe ich mal den Programmsucher, der mir die aktuelle AccessVersion in die stvar.ini schreibt:

Code: Alles auswählen

[PrgStart]
MSACCESSVersionVar=10
MSACCESSVersionVarPath=C:\Programme\Gemeinsame Dateien\Microsoft Shared\Access Runtime\Office10\
MSACCESSVersionVarPathRoot=C:\
Das erreiche ich ja, indem ich das Programm "ProgrammSucher.exe" ausführe und vorgängig in der stpsrch.ini folgende Zeilen eingefügt habe:

Code: Alles auswählen

[FILE0]
RegKey=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE\Path
FileName=MSACCESS.exe
VarName=MSACCESSVersionVar
Ich denke mal, soweit ist alles klar!

Nun möchte ich die ganze Sache in ein setup-Programm verpacken und entscheiden: Wenn die AccessVersion = 10 ist, dann das Programm "AccessRuntime" (setup.exe) nicht ausführen!

Was mir immer noch nicht klar ist, wie muss ich da genau vorgehen?

- Was muss alles in den AKInstaller rein?
- ProgrammSucher.exe ?
- stpsrch.ini ?
- stvar.ini ?
- setup.exe (AccessRuntime) ?

Wo genau muss was und in welcher Reihenfolge rein?
Wo und wie wird die Entscheidung gefällt? (Variable ?)

Mir fehlt einfach noch der Durchblick, wie das ganze Konzept aufgebaut ist!?

Sorry, wenn ich nerven sollte, aber ich möchte das Programm gerne verstehen (und dann natürlich auch registrieren!)

Gruss
Roger
ist das Programm noch so klein, ein Fehler passt immer rein!
Andreas Kapust
Administrator
Beiträge: 1093
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Erst einmal keine Panik, das ist schon Materie für etwas fortgeschrittene Nutzer :)

Also wie schon erklärt, werden die Dateien PS und Runtime über den Programmstart eingebunden und landen dadurch automatisch im Setup-Archiv (wenn man hier nicht Datei nicht extra in das Setup einbinden wählt). Als Zeitpunkt bietet sich hier Nach der Installation an. Bitte die Punkte von oben Parameter, Beendigung etc. beachten.

Für das Runtime-Setup wählt man in Variablen Nicht ausführen, wenn (NA) und als Variablen MSACCESSVersionVar in den Wert tragen Sie 10 ein.

Die Datei stpsrch.ini binden Sie im Programmstart unter Datei NIE ausführen ein.

Die Reihenfolge muss sein: PS und darunter Runtime, da die Liste von oben nach unten abgearbeitet wird.

Der Ablauf:
Nach der Installation wird der PS gestartet und schreibt seine Daten in stvar.ini . Das Setup darf deshalb erst weitermachen, wenn der PS fertig ist! Anschließend kommt die Runtime dran. Dieser Programmstart soll aber von MSACCESSVersionVar abhängig sein. Das Setup ließt die Daten aus, prüft ob die Variable 10 ist und führt die Runtime ggf. aus. Auch hier muss das Setup warten. Das Runtime-Setup muss mit /R:N gestartet werden, da es sonst möglicherweise einen Neustart hinlegt, den wir hier nicht gebrauchen können.

Nun etwas klarer? :wink:

Gruß A.K.
Zuletzt geändert von Andreas Kapust am 12.10.2004, 11:15, insgesamt 1-mal geändert.
tornado
Beiträge: 6
Registriert: 28.09.2004, 11:11
Wohnort: CH-5004 Aarau
Kontaktdaten:

Beitrag von tornado »

Hallo "Maestro" Kapust :D :D

Ja, jetzt sehe ich schon vieeeeeel klarer ! :)

Habe mal eine neue Test-Installation erstellt. Dabei wird ein kleines Programm (Differenzler.exe) installiert, und danach die Access-Version (ob = 10) geprüft und (weil ja vorhanden) die Runtime nicht installiert! SUPER!!

Was mir gefehlt hat, ist eine Information, dass eine gültige Access-Version vorhanden ist und somit die Runtime nicht installiert werden muss.

Lässt sich irgendwo ein entsprechender Text nach der Prüfung hinterlegen?

Viele Grüsse (und vieelen Dank)
Roger
ist das Programm noch so klein, ein Fehler passt immer rein!
Andreas Kapust
Administrator
Beiträge: 1093
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

tornado hat geschrieben:Was mir gefehlt hat, ist eine Information, dass eine gültige Access-Version vorhanden ist und somit die Runtime nicht installiert werden muss.
Mit der nächsten Vorabversion 2.6.400 (ab 9.10.) sind dann neben = auch <,>,<=,>= und <> möglich.
Somit kann dann ein "Nicht ausführen, wenn XYZ >= 10 ist" realisiert werden.
Mit freundlichen Grüßen
A. Kapust
tornado
Beiträge: 6
Registriert: 28.09.2004, 11:11
Wohnort: CH-5004 Aarau
Kontaktdaten:

neue Vorab-Version

Beitrag von tornado »

Hallo Herr Kapust

SUPER, habe mir heute die Vorabversion geholt und tatsächlich sind nun Vergleiche möglich!

Jedoch will das Setup in jedem Fall die Runtime installieren, egal ob ich sage Nicht Ausführen wenn >= 8 oder auch =10 !?! Meine aktuelle Access-Version ist 10 (und dies steht auch in der stvar.ini)

Vermutlich habe ich da noch was falsch gemacht? Die stvar.ini hat immer noch das Datum vom 29.09.04 obwohl wir heute den 11.10.04 schreiben?

Gruss
Roger Kurz
ist das Programm noch so klein, ein Fehler passt immer rein!
Andreas Kapust
Administrator
Beiträge: 1093
Registriert: 29.02.2004, 15:51
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Andreas Kapust »

Hallo!
Vermutlich nur ein kleiner Logik-Fehler. Kann ich die Projekt-Datei (*.stp) mal haben, dann teste ich das mal mit den Einstellungen.
Mit freundlichen Grüßen
A.Kapust
Antworten