IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outils Delphi Discussion :

[Inno Setup] N'installe que s'il n'y a pas internet


Sujet :

Outils Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    septembre 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : septembre 2009
    Messages : 86
    Points : 26
    Points
    26
    Par défaut [Inno Setup] N'installe que s'il n'y a pas internet
    Bonjour,

    J'ai besoin de réaliser un setup qui puisse être certain au moment de l'installation qu'il n'y est pas internet.

    Grosso modo le soft. Je débute en delphi complètement ou inno setup, c'est pourquoi je fais appel à vous.

    J'ai déjà commencer un bout de code en modifiant un truc trouvé sur le net, c'est pas propre et surtout j'ai une erreur sur la ligne ou j'ai ma fonction, pour lui le prototype est invalide.

    N'y connaissant pas grand chose, je fais appel à votre savoir et générosité comme toujours,

    voici mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    ; Script generated by the Inno Setup Script Wizard.
    ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
     
    #define MyAppName "ATI 219"
    #define MyAppVersion "219"
     
    [Setup]
    ; NOTE: The value of AppId uniquely identifies this application.
    ; Do not use the same AppId value in installers for other applications.
    ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
    AppId={{EBC3C01F-B5D2-426C-9321-157ED4D147B2}
    AppName={#MyAppName}
    AppVersion={#MyAppVersion}
    ;AppVerName={#MyAppName} {#MyAppVersion}
    CreateAppDir=no
    OutputDir=X:\hubiC DATA\Users ultimate\Eoran\Desktop\ATI 2019\output
    OutputBaseFilename=ATI 219.exe
    Compression=lzma
    SolidCompression=yes
     
    [Languages]
    Name: "french"; MessagesFile: "compiler:Languages\French.isl"
     
    [Files]
    Source: "src\ATI 219.exe"; DestDir: "{tmp}"; Flags: ignoreversion; BeforeInstall: NoNet;
    ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
     
    //var globalnet: Boolean;
     
    function NoNet(): Boolean;
        var WinHttpReq: Variant;
        var Connected: Boolean;
     
    begin
        Connected := False;
        repeat
            //Log('Checking connection to the server');
            try
                WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
                { Use your real server host name }
                WinHttpReq.Open('GET', 'https://www.google.fr/', False);
                WinHttpReq.Send('');
                //Log('Connected to the server; status: ' + IntToStr(WinHttpReq.Status) + ' ' + WinHttpReq.StatusText);
                Connected := True;
            except
                //Log('Error connecting to the server: ' + GetExceptionMessage);
                if WizardSilent then
                    begin
                        Log('Connection to the server is not available, aborting silent installation');
                        Result := True;
                        Exit;
                    end
                else
                    if MsgBox('Cannot reach server. Please check your Internet connection.',
                        mbError, MB_RETRYCANCEL) = IDRETRY then
                        begin
                            //Log('Retrying');
                        end
                    else
                        begin
                            //Log('Aborting');
                            Result := True;
                            Exit;
                        end;
                    end;
                until Connected;
            Result := False;
    end;
    En fait, j'ai simplement besoin de copier dans TMP mon fichier ATI 219.exe dans {TMP} et de l'exécuter, seulement s'il y à internet.

    Même si y'a plus de chose, c'est un script de teste ou j'essaye déjà de faire simplement les choses sur un seul exe.

    Si quelqu'un à une idée ^^.

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Profil pro
    Inscrit en
    septembre 2008
    Messages
    5 091
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : septembre 2008
    Messages : 5 091
    Points : 11 132
    Points
    11 132
    Par défaut
    BeforeInstall ne conditionne pas l'extraction du fichier. Il faut utiliser Check pour cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [Files]
    Source: "src\ATI 219.exe"; DestDir: "{tmp}"; Flags: ignoreversion; Check: NoNet;

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/09/2014, 18h10
  2. Inno setup : lancer installation sans droit administrateur
    Par DanielB dans le forum Installation, Déploiement et Sécurité
    Réponses: 3
    Dernier message: 24/10/2013, 13h15
  3. [INNO SETUP] Stopper installation en cours
    Par WDKyle dans le forum Outils
    Réponses: 10
    Dernier message: 20/08/2013, 22h28
  4. [inno setup] silent install + suppression
    Par toony72 dans le forum Outils
    Réponses: 1
    Dernier message: 01/11/2012, 18h44
  5. [INNO SETUP][ORACLE] Installer le client Oracle avec Inno
    Par AnnSo dans le forum Bases de données
    Réponses: 11
    Dernier message: 19/08/2004, 16h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo