Toon posts:

[InstallShield 8] InstallScript pad van setup.exe opvragen ?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben sinds 2 dagen bezig met Installshield v8 om uiteraard een installer te maken voor software die hier op m'n werk geschreven word.

ten eerst post ik dit topic hier omdat het volledig over de scripting gaat, Installscript. Die er nogal java based uitziet.


Het probleem :

Ik moet en installer maken die in het register 2 keys controlleerd en dat aan de hand van de waarden beslist of hij 2 programma's wel of niet moet installeren. Dit bij het begin van het programma. Na deze 2 installaties gaat hij verder met het uitvoeren van de echte installer die ik maakte in IS 8.

Wat nu echt niet lukt is het echt openen van de exe's van de 2 andere programma's. Ik kan controlleren in het register of ze geïnstalled moeten worden. Maar met DoInstall kan ik niet werken omdat de andere programma's van adobe en progress zijn. Dus het moet met LaunAppAndWait().

LaunchAppAndWait (SetupPath, "", WAIT);

Alleen ... ik krijg op geen enkele mogelijke manier in de variabele SetupPath het juist pad op de harde schijf.
In het hele scripting gebeuren van IS v8 vind ik nergens een functie waarmee ik het pad van de setup.exe zelf kan opvragen en die heb ik dus nodig.

De structuur word :

Setup.exe (die ik nu dus maak)
- \Acrobat
--- Setup.exe
- \Progress
--- Setup.exe

Dus als ik het pad van Setup.exe uit die setup.exe kan opvragen ... kan ik makkelijk die setups starten.

iemand een idee ?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function OnBegin()   
    STRING SetupPath;
begin
    //Set the root-registry
    RegDBSetDefaultRoot(HKEY_CURRENT_USER);
    //Check if the key exists
    if(RegDBKeyExist ("Software\\QuickPrice\\test")>0) then
        //Key bestaat, dus setup niet starten
        MessageBox("Bestaat",INFORMATION);
    else         
        //Key bestaat niet, dus setup starten
        MessageBox("Bestaat niet",INFORMATION);
        MessageBox("Openen \\kladblok.exe",INFORMATION);  
        SetupPath = INSTALLDIR ^ "kladblok.exe";
        LongPathToQuote(SetupPath ,TRUE);
        MessageBox(SetupPath,INFORMATION);
        LaunchAppAndWait (SetupPath, "", WAIT);
    endif;
 end;

zat hiermee te testen, maar dat doet niets meer dan een messagebox geven of hijiets zou moeten doen


edit :
Als ik gewoon zou kunnen ophalen wat het station is ben ik ook al tevreden, de structur die hierboven staat komt op een CD te staan

[ Voor 7% gewijzigd door Verwijderd op 05-02-2003 15:40 ]