winstscript mit sub-Sektion

Antworten
busabernhardg
Beiträge: 153
Registriert: 07 Jul 2008, 16:53

winstscript mit sub-Sektion

Beitrag von busabernhardg »

Hallo zusammen,

ich möchte bei meinem ghostscript-Paket in der delsub.ins alle in einer Stringliste angegebenen Versionen prüfen und falls eine installiert ist, diese deinstallieren.Hier mein Ansatz:

Code: Alles auswählen

...
Set $Versionen$ = createStringlist('8.62','8.63','8.64')
set $regpfad$ = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GPL Ghostscript "

for %Vers% in $Versionen$ do sub_install_version

[sub_install_version]
if not (GetRegistryStringValue("["+$regpfad$+"%Vers%] DisplayName") = "")
    comment "Version %Vers% gefunden " found in registry, starting msiexec to uninstall"
    Message "Found "+$ProductId$+"%Vers% => uninstalling first"
    set $UninstallCommand$ = GetRegistryStringValue ("["+$regpfad$+"%Vers%] UninstallString")
    Winbatch_uninstall
    sub_check_exitcode
endif

[Winbatch_uninstall]
$UninstallCommand$ -q

[sub_check_exitcode]
...
Auf meinem Client habe ich nur die ghostscript Version 8.64 installiert - Logfile
snip
[6] [02.02.2011 12:39:03] ~~~~~~ Looping through: '8.62', '8.63', '8.64
snip
[6] [02.02.2011 12:39:03] ~~~~~~~ Start Sub ~~~~~~~ sub_version
[5] [02.02.2011 12:39:03]
[5] [02.02.2011 12:39:03] If
[6] [02.02.2011 12:39:03] Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GPL Ghostscript 8.64] opened
[6] [02.02.2011 12:39:03] Key closed
[5] [02.02.2011 12:39:03] GetRegistryStringValue("["+$regpfad$+"8.64] DisplayName") = "" <<< result false
[5] [02.02.2011 12:39:03] not (GetRegistryStringValue("["+$regpfad$+"8.64] DisplayName") = "") <<< result true
[5] [02.02.2011 12:39:03] Then
[5] [02.02.2011 12:39:03] comment: Version gefunden 8.64
[5] [02.02.2011 12:39:03] message Found Ghostscript8.64 => uninstalling first
[5] [02.02.2011 12:39:03]
[5] [02.02.2011 12:39:03] Set $UninstallCommand$ = GetRegistryStringValue ("["+$regpfad$+"8.64] UninstallString")
[6] [02.02.2011 12:39:03] Registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GPL Ghostscript 8.64] opened
[6] [02.02.2011 12:39:03] Key closed
[6] [02.02.2011 12:39:03] The value of the variable "$UninstallCommand$" is now: "C:\Programme\gs\uninstgs.exe "C:\Programme\gs\gs8.64\uninstal.txt""
[5] [02.02.2011 12:39:03]
[5] [02.02.2011 12:39:03] Warning: The section "Winbatch_uninstall" (called in line 5 of the calling section) does not exist or is empty
[5] [02.02.2011 12:39:03]
[4] [02.02.2011 12:39:03] Warning: Section "Winbatch_uninstall" does not exist or is empty
[5] [02.02.2011 12:39:03]
[5] [02.02.2011 12:39:03] Warning: The section "sub_check_exitcode" (called in line 6 of the calling section) does not exist or is empty
[6] [02.02.2011 12:39:03]
[6] [02.02.2011 12:39:03] ~~~~~~~ Start Sub ~~~~~~~ sub_check_exitcode
[6] [02.02.2011 12:39:03]
[6] [02.02.2011 12:39:03] ~~~~~~~ End Sub ~~~~~~~ sub_check_exitcode
Warum bekomme ich hier eine Warnung, daß die section "Winbatch_uninstall" nicht existiert?

lg
Bernhard Gerg
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3327
Registriert: 04 Jun 2008, 14:27

Re: winstscript mit sub-Sektion

Beitrag von d.oertel »

Hi,

sub in subs (und so weiter) gehen meistens gut.
Aber wenn sich das noch über verschiedene Dateien verteilt (delsub.ins) verliert der opsi-winst irgendwann den überblick wo jetzt die aufgerufene sekundäre Funktion zu suchen ist.
Wahrscheinlich löst sich das Problem, den die aufgerufene Winbatch sektion in dem Script steht, das die delsub aufruft.

Das ist ein Bug (aber kein sehr dringender ...)

gruss
d.oertel


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


sch
Beiträge: 27
Registriert: 08 Jun 2011, 18:16

Re: winstscript mit sub-Sektion

Beitrag von sch »

Der Bug scheint bis heute leider immer noch nicht gefixt zu sein :(

Wie ist hier der Stand?
Benutzeravatar
d.oertel
uib-Team
Beiträge: 3327
Registriert: 04 Jun 2008, 14:27

Re: winstscript mit sub-Sektion

Beitrag von d.oertel »

Hi,

http://download.uib.de/opsi4.0/doc/html ... tion-kinds
Abschnitt 'Achtung'

Das bleibt auch so, bis jemand Geld ausgibt, damit das umprogrammiert wird.

gruss
d.oertel


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


Antworten