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] BDE


Sujet :

Outils Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Points : 39
    Points
    39
    Par défaut [Inno Setup] BDE
    Après génération d'une application sous Inno Setup 5 .., j'ai une erreur à l'ouverture : en résumé
    Erreur Kernell32.dll
    - information concernant version système exploitation de l'équipement informatique utilisé..
    - votre Product ID numérique (identifiant license)
    - adresse du protocole Internet IP de votre ordinateur.

    J'ai laissé ces rubriques vides dans l'application Inno Setup
    Que dois-je faire?
    Merci pour vos réponses
    DuDu31

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    je croyais avoir répondu mais j'ai du oublié de posté la réponse.
    Ce qui nous aiderait pour répondre, c'est le source du Script InnoSetup à moins qu'il ne s'agisse d'une installation défectueuse de Inno Setup ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Points : 39
    Points
    39
    Par défaut Inno Setup 5 : déploiement BDE
    Bonjour,
    J'ai regroupé dans le dossier ABDE32 tous les fichiers complémentaires du groupe BDE qui sont copiés dans le répertoire principal ou se trouve le fichier .exe.
    Dans cette configuration, le Path de l'allias change car tout est copier dans un répertoire tel
    * = C:\Program Files\Encyclopdie tubes\Basebd\*.*
    A la construction, le Path origine est C:\Program Files\Borland\delphi5\Projects\BaseBD\*.*
    Dans le listing ci-après, tout est copié dans le répertoire principal.
    Pour un premier essai, j'avais simplement copier le répertoire Basebd sur un CDRom (120 Mo) que j'ai glissé dans un répertoire (voir *). Il ne me restait qu'à reconfigurer le path de l'alias. BDEAdmin.exe était déjà installé dans c:\Program Files\Fichiers communs\Borland Shared\BDE\*.*

    A la lecture de mon script, je pense avoir compris que qu'il faut copier aussi ce répertoire dans l'application. Donc je vais revoir ce passage..
    et voir comment modifier le path de l'alias en conséquence
    Ci-après, le listing du premier "jet" :

    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
    Listing =
     
    LicenseFile=C:\Program Files\Fichiers communs\Borland Shared\BDE\bdedeploy.txt
    InfoBeforeFile=C:\Program Files\Fichiers communs\Borland Shared\BDE\bdeinst.txt
    InfoAfterFile=C:\Program Files\Fichiers communs\Borland Shared\BDE\bdereadme.txt
    OutputDir=C:\Documents and Settings\Jacques\Mes documents\Encyclo_inno
    OutputBaseFilename=setup
    Password=DRT2016
    Compression=lzma
    SolidCompression=yes
     
    [Languages]
    Name: "english"; MessagesFile: "compiler:Default.isl"
    Name: "french"; MessagesFile: "compiler:Languages\French.isl"
    Name: "german"; MessagesFile: "compiler:Languages\German.isl"
    Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
     
    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
     
    [Files]
    Source: "C:\Program Files\Borland\Delphi5\Projects\Basebd\Encylopedie.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Program Files\Borland\Delphi5\Projects\Basebd\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
    Source: "C:\Documents and Settings\Jacques\Mes documents\ABDE32\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
    ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
     
    [Icons]
    Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
    Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
     
    [Run]
    Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    déjà les lignes 3,4,5 m'interpellent ! et je ne suis pas sûr qu'elles soient utiles

    ensuite je ne vois nulle part le déploiement de BDE InnoSetup How to Deploy BDE ni bien sur la création d'alias censée être faite
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Points : 39
    Points
    39
    Par défaut Inno Setup BDE suite..
    Bonjour,
    Je n'ai pas tout compris dans la notice "jrsoftware.org" .. chapitre copié ci-après :

    Les fichiers MiniReg.exe et BdeInst.dll sont déjà dans l'application .. faut-il à nouveau les afficher tel l'exemple.
    Il reste l'allias dont le path peut varier suivant l'emplacement de l'application.
    Pour simplifier, en dehors du répertoire " c:\Program Files\Borland\Delphi5\Projects\BasBd " j'ai installé sur mon pc cette application où j'ai supprimé les fichiers unités.bas..
    Je ne connais pas l'anglais étant obligé de passer par un traducteur "PROMPT" où il faut reprendre partiellement les terminologies !!!
    Que reste-il à faire avec les paramètres cités ci-dessous?

    Merci d'avance (je fait parti des seniors où la réflexion est plus lente).
    Entre parenthèse, dans la revue spécialisée "Freelog" où est joint un DVD, il y a un outils "Borland DataBase Engine", version française, pour Windows 9 et supérieur. Que peut on faire avec éventuellement?


    AddAlias to BDE for Delphi.


    This little program adds an alias to the BDE configuration file. It is written for use from Inno Setup or other programs wich want to add alias at runtime. Source code included.



    1. PARAMETERS

    Paramstr(0): programname + path (standard parameter of OS)
    Paramstr(1): Name of alias: if begins with '-' then delete first then add
    else only add if doesn't exist
    Paramstr(2): path to data directory
    Paramstr(3): BDE driver name



    2. LICENSING AND PURCHASE

    AddAlias free software, and you may use it without any fees in your freeware, shareware and commercial projects.



    3. DISCLAIMER

    IN NO EVENT SHALL ADDALIAS AUTHORS, OR ANY OTHER PARTY WHO MAY HAVE DISTRIBUTED
    THE SOFTWARE AS PERMITTED, BE LIABLE FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE
    THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
    INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR FAILURE OF THE SOFTWARE
    TO OPERATE WITH ANY OTHER PRODUCTS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
    ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.



    4. CONTACT INFO

    AddAlias is the product of Ralf Walhöfer
    You can send an e-mail to the authors to ralf@trigo.de

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Je ne connais pas l'anglais étant obligé de passer par un traducteur "PROMPT" où il faut reprendre partiellement les terminologies !!!
    c'est sûr que ça aide pas !
    Les fichiers MiniReg.exe et BdeInst.dll sont déjà dans l'application .. faut-il à nouveau les afficher tel l'exemple.
    dans l'application ? vous voulez dire dans le script de copie et copiés dans le répertoire cible de l'installation

    Entre parenthèse, dans la revue spécialisée "Freelog" où est joint un DVD, il y a un outils "Borland DataBase Engine", version française, pour Windows 9 et supérieur.
    AMHA c'est une vieille version , la dernière à avoir été développée, BDE est obsolète et considéré comme tel => pas de nouveau développement de la part de BORLAND sur ce moteur

    Pour simplifier, en dehors du répertoire " c:\Program Files\Borland\Delphi5\Projects\BasBd " j'ai installé sur mon pc cette application où j'ai supprimé les fichiers unités.bas..
    vous n'avez pas à installer les sources (*.pas) uniquement le exe et selon vos directives de compilation donc si besoin des BPL et subséquemment les fichiers de traductions qui s'y attache (i.e dclusr50.bpl , dclusr50.fr).


    je n'ai pas le temps de créer un script (avant ce w.e.) pour vous donner un exemple mais peut être qu'un lecteur en a un sous la main :
    Déploiement d'une application + BDE + Ajout Alias
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Points : 39
    Points
    39
    Par défaut Suite déploiement bde avec Inno setup..
    Je refait une autre tentative que je copie sur une clé USB pour essayer d'installer cette application sur un autre PC sous Windows XP, en tenant compte des directives de "Inno Setup Knowledge Base" .. il n'y a pas d'urgence sur ce dossier. Le plus long dans cette application a été dans la constitution des tables où il y a 35.000 lignes sur 40 colonnes réparties sur 10 tables pour cette version.
    Si tout va bien, je reviendrai dans la rubrique base de données pour traiter une table de conversion indépendante des tables actuelles.
    Merci beaucoup pour votre réponse.
    Dudu31

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Points : 39
    Points
    39
    Par défaut Suite : eureka
    Ouf, après une nuit de méditation, tentative ci-après fonctionne.
    A l'inverse, InstallShield Express est plus compliqué à utiliser et à mettre en oeuvre.(échec..)
    Il n'y a eu que le rajout de 3 lignes concernant le BDE..!!
    Je vais donc essayer l'installation sur d'autre PC; XP, Windows7 et Windows10 avec la précaution d'une installation compatible XP
    J'ai fait le test sur le PC générateur de l'application.
    Merci encore pour votre aide.

    Code Script : 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
    44
    45
    46
    47
    48
    49
    50
    51
    ; Script generated by the Inno Setup Script Wizard.
    ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
     
    #define MyAppName "Encyclopedie tubes"
    #define MyAppVersion "1.5"
    #define MyAppPublisher "Jacques DUDORET"
    #define MyAppExeName "Encylopedie.exe"
     
    [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={{3E5EB861-BB83-4D2D-A5F6-A9180FA5A819}
    AppName={#MyAppName}
    AppVersion={#MyAppVersion}
    ;AppVerName={#MyAppName} {#MyAppVersion}
    AppPublisher={#MyAppPublisher}
    DefaultDirName={pf}\{#MyAppName}
    DefaultGroupName={#MyAppName}
    OutputDir=C:\Documents and Settings\Jacques\Mes documents\Encyclo_inno
    OutputBaseFilename=Setup
    Password=DRT2016
    Compression=lzma
    SolidCompression=yes
     
    [Languages]
    Name: "english"; MessagesFile: "compiler:Default.isl"
    Name: "french"; MessagesFile: "compiler:Languages\French.isl"
    Name: "german"; MessagesFile: "compiler:Languages\German.isl"
    Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
    Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
     
    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
     
    [Files]
    Source: "C:\Program Files\Borland\Delphi5\Projects\Basebd\Encylopedie.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Program Files\Borland\Delphi5\Projects\Basebd\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
    Source: "C:\Program Files\Borland\Delphi5\Projects\Basebd\MiniReg.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Program Files\Borland\Delphi5\Projects\Basebd\BdeInst.dll"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Documents and Settings\Jacques\Mes documents\BDE\Alias\AddAlias.exe"; DestDir: "{app}"; Flags: ignoreversion
     
    ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
     
    [Icons]
    Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
    Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
     
    [Run]
    Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
    Filename: "{tmp}\MiniReg.exe"; Parameters: """{tmp}\BdeInst.dll"""

  9. #9
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour,

    AMHA , la partie run reste à revoir puisque dans le script BDE s'installe après le programme qui a besoin de celui-ci.
    De plus, tester sur le poste le PC ayant généré l'application donc ayant déjà l'alias ne permet pas de vérifier la création de celui-ci, et je pense qu'il manque encore quelques lignes de code pour exécuter AddAlias (reste que je ne connais pas ce dernier) selon la doc
    Paramstr(1): Name of alias: if begins with '-' then delete first then add
    else only add if doesn't exist
    Paramstr(2): path to data directory
    Paramstr(3): BDE driver name
    donc dans le group run
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Filename: "{app}\addalias.exe"; Parameters: """MONALIAS , {app}\dirbase , PARADOX"""
    où dirbase est le répertoire des tables PARADOX

    Plus pratiquement, je pense qu'il faudrait changer quelques destinations : les 39,40,41 n'ont besoin d'exister que le temps de l'installation donc pourraient aller dans le répertoire temporaire {temp} de windows, et pour plus de clarté dans un sous répertoire de ce dernier (par exemple temp/<guid> je pense que c'est possible)
    ce qui permettrait à la fin du script de les supprimer facilement (voir ce qui est écrit sur cette page, même en anglais le code lui est compréhensible)


    Je ne suis pas sur non plus qu'il soit judicieux de copier tous les éléments et sous répertoires de C:\Program Files\Borland\Delphi5\Projects\Basebd\ sauf si le "ménage" des DCU,PAS,DFM etc.. a été fait)
    logiquement, selon la ligne 37 l'exe est copié, ensuite il faudrait la base de données, soit le répertoire contenant les fichier PARADOX, c'est tout (enfin tout si le programme a été compilé sans les bibliothèques)



    Bref, cela semble en très bonne voie
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Points : 39
    Points
    39
    Par défaut Inno setup :Marche arrière
    Comme vous dites tout n'est pas vérifié..
    Effectivement , une installation sur un autre PC se fait mais l'exécutable s'arrête sur un message d'erreur pour une "histoire" de Minireg.exe introuvable !!
    A l'examen du dossier Program Files\Windows\System32\ il manque un fichier REGSVR32.EXE visible sur le PC équipé DELPHI.
    Comme vous le signaler, il faut mettre un peu d'ordre dans le scipt de ce programme d'installation.
    A suivre,
    DUDU31
    Merci encore pour votre aide

  11. #11
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Plus pratiquement, je pense qu'il faudrait changer quelques destinations : les 39,40,41 n'ont besoin d'exister que le temps de l'installation donc pourraient aller dans le répertoire temporaire {temp} de windows, et pour plus de clarté dans un sous répertoire de ce dernier (par exemple temp/<guid> je pense que c'est possible)
    ce qui permettrait à la fin du script de les supprimer facilement
    C'es déjà le cas. {tmp} est un répertoire temporaire propre à l'installation en cours, ce n'est pas le TEMP de l'environnement. Ce répertoire est automatiquement supprimé à la fin du processus.

    Citation Envoyé par jdudoret Voir le message
    Effectivement , une installation sur un autre PC se fait mais l'exécutable s'arrête sur un message d'erreur pour une "histoire" de Minireg.exe introuvable !!
    Tu l'extraits dans {app} mais tente de l'exécuter depuis {tmp}. Sûr que ça ne peut pas marcher

  12. #12
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour
    Citation Envoyé par Andnotor Voir le message
    C'est déjà le cas. {tmp} est un répertoire temporaire propre à l'installation en cours, ce n'est pas le TEMP de l'environnement. Ce répertoire est automatiquement supprimé à la fin du processus.
    merci, je ne le savais pas, cependant, je me demande où il se situe et avec un peu de lecture
    It is a subdirectory of the user's temporary directory which is created by Setup or Uninstall at startup
    c'était donc bien ce que j'avais en tête, sauf que cela se fait tout seul et dans le répertoire temp de l'utilisateur (encore mieux) cependant dans la doc :
    (with a name like "C:\WINDOWS\TEMP\IS-xxxxx.tmp")
    je pense qu'il y a une erreur puisque ici, aucune référence à l'utilisateur, ce devrait donc être plutôt
    • Windows XP C:\Documents and Settings\<User name>\Local Settings\Temp\IS-xxxxx.tmp
    • Windows Vista et + C:\Users\<User name>\AppData\Local\Temp\IS-xxxxx.tmp

    à vérifier
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Points : 39
    Points
    39
    Par défaut Suite Inno Setup pour BDE
    Je viens de modifier le précédent script sans avoir lu votre exposé : pas encore testé:
    A la lecture de AddAlias.txt (to BDE for Delphi) ..
    1 ère ligne : configuration fichier alias BDE .. il faut inclure 4 paramètres :
    Paramstr(0): programname + path (standard parameter of os)
    Paramstr(1): Name of alias : if begin with '-' then delete first then add else only if doesn't exist
    Paramstr(2): path to data directory
    Paramstr(4): BDE driver name

    J'ai copié dans le sous dossier BdeInst.dll, AddAlias.cfg, .dpr, .exe et data.is
    Le chemin (Path) est c:\Program Files\Encyclopedie tubes\Bsebd\BaseExc .. le sous-répertoire BaseExc contient toutes les tables.

    Si j'ai bien compris, il manque les Paramstr (1) et (2);
    Dans l'affirmatif, comment libeller ceux-ci?
    Merci d'avance..
    Je vais prendre connaissance de votre exposé.

    Ci-après, le dernier script non testé.
    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
    44
    45
    #define MyAppPublisher "Jacques DUDORET"
    #define MyAppExeName "Encylopedie.exe"
     
    [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={{87D59CF8-4074-4CEE-AAAB-6C755C0F6E77}
    AppName={#MyAppName}
    AppVersion={#MyAppVersion}
    ;AppVerName={#MyAppName} {#MyAppVersion}
    AppPublisher={#MyAppPublisher}
    DefaultDirName={pf}\{#MyAppName}
    DefaultGroupName={#MyAppName}
    OutputDir=C:\Documents and Settings\Jacques\Mes documents\Encyclo_inno
    OutputBaseFilename=setup
    Password=DRT2016
    Compression=lzma
    SolidCompression=yes
     
    [Languages]
    Name: "english"; MessagesFile: "compiler:Default.isl"
    Name: "french"; MessagesFile: "compiler:Languages\French.isl"
    Name: "german"; MessagesFile: "compiler:Languages\German.isl"
    Name: "italian"; MessagesFile: "compiler:Languages\Italian.isl"
    Name: "portuguese"; MessagesFile: "compiler:Languages\Portuguese.isl"
     
    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
     
    [Files]
    Source: "C:\Documents and Settings\Jacques\Mes documents\AEncylo_01\Basebd\Encylopedie.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Documents and Settings\Jacques\Mes documents\AEncylo_01\Basebd\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
    Source: "C:\Documents and Settings\Jacques\Mes documents\BDE\Alias\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
    Source: "C:\Documents and Settings\Jacques\Mes documents\AEncylo_01\Basebd\MiniReg.exe"; DestDir: "tmp"
    Source: "C:\Documents and Settings\Jacques\Mes documents\BDE\Alias\BdeInst.dll"; DestDir: "tmp"
    ; NOTE: Dont use "Flags: ignoreversion" on any shared system files
     
    [Icons]
    Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
    Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
     
    [Run]
    Filename: "{tmp} \MiniReg.exe"; Parameters: """{tmp}\BdeInst.dll"""
    Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Points : 39
    Points
    39
    Par défaut Suite Inno Setup.
    J'ai extrait le programme AddAllias : Il y a déjà une erreur d'unité DBE qui n'existe pas. Il faut là construire.. sinon, je pourrai le remplacer par une autre où j'ai trouvé quelque chose de similaire où est désigné une unité DBTable .. Je ne voyais pas dans le script comment déclarer le nouveau script : je pense que cela porte le nom de l'application terminée d'un .exe.
    Je vais voir la suite demain..
    A suivre,
    DuDu31

    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    {   2: path to data directory
       3: BDE driver name
     
    Bugfix: Savierhs Lopez Arteaga 3.1.2001
            AddAlias didn't delete alias with beginning '-'}
     
    program AddAlias;
     
    uses
      Windows, SysUtils, BDE;
     
    var
      GAlias:    string  = 'New';
      GDriver:   string = szPARADOX;
      GAliasDir: string;
      FParams:   string;
      FDrvName:  string;
      FDelete:   boolean;
      i:         integer;
     
    function StrToOem(const AnsiStr: string): string;
    begin
      SetLength(Result, Length(AnsiStr));
      if Length(Result) > 0 then
        CharToOem(PChar(AnsiStr), PChar(Result));
    end;
     
     
    {----------------------------------------------------------------------------------------}
    begin
      for i := 1 to ParamCount do
      begin
        case i of
          1: GAlias    := ParamStr(1);
          2: GAliasDir := ParamStr(2);
          3: GDriver   := ParamStr(3);
        end;
      end;
     
      //default alias
      if GAliasDir = '' then GAliasDir := ExtractFilePath(ParamStr(0))+'Data';
     
      //should delete alias first? separate alias name
      if GAlias[1] = '-' then
      begin
        FDelete := True;
        //GAlias := Copy(GAlias, 1, Length(GAlias)); Bug
        Delete(GAlias, 1, 1);                    //Fix by Savierhs Lopez Artega
      end else FDelete := False;
     
      FDrvName := GDriver;
      //set Parameters, the driver and server name
      if (CompareText(GDriver, szCFGDBSTANDARD) = 0) or
         (CompareText(GDriver, szPARADOX) = 0)       or
         (CompareText(GDriver, szDBASE) = 0)         or
         (CompareText(GDriver, szFOXPRO) = 0)        or
         (CompareText(GDriver, szASCII) = 0)         then
      begin
        if (CompareText(GDriver, szCFGDBSTANDARD) = 0) then FDrvName := szPARADOX;
     
        //set parameters for the new alias
        FParams := Format('%s:"%s"',  [szCFGDBPATH, GAliasDir]) +
                   Format(';%s:"%s"', [szCFGDBDEFAULTDRIVER, GDriver]) +
                   Format(';%s:"%s"', [szCFGDBENABLEBCD, szCFGFALSE]);
      end else begin
        if (CompareText(GDriver, 'INTRBASE') = 0)
        then FParams := Format('%s:"%s"',  [szSERVERNAME, GAliasDir])
        else FParams := Format('%s:"%s"',  [szDATABASENAME, GAliasDir]);
     
        //add other Parameters here !!!!!!!!!!!!!!!!!
      end;
     
      DbiInit(nil);
      try
        if FDelete then
          try
            DbiDeleteAlias(nil, PChar(GAlias));
          except
          end;
     
        try
          DbiAddAlias(nil, PChar(StrToOem(GAlias)),
                           PChar(StrToOem(FDrvName)),
                           PChar(FParams), True);
          DbiCfgSave(nil, nil, True);
        except
        end;
     
      finally
        DbiExit();
      end;
     
    end.
    //----------------------------------------------------------------------------------------

  15. #15
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    étrangement je n'ai pas le même lien pour addalias car j'avais l'exe et non les sources !
    s'il est possible de me fournir le lien sur ce source, j’essaierai de prendre un peu de temps pour le compiler sur mon vieux pc et de voir s'il est possible de changer le net dir de paradox
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Points : 39
    Points
    39
    Par défaut Inno Setup / InstallShield Express
    J'ai analysé et comparé ces 2 utilitaires:
    Il y a similitude entre ces 2 installateurs :
    Un point particulier sur InstallShield : section BDE : cette partie sur installShield est traitée avant la copies des fichiers programmes et librairies+tables. Dans les explications, il est spécifiés de copier une quantité de fichiers contenus dans BDE initialement placé C:\Program Files\Fichiers communs\Borland Shared\BDE\* dans l'application dont BDEAMIN.EXE + 23 .dll ce qui revient pratiquement à copier entièrement le sous répertoire BDE.. image facile à transposer sur Inno Setup.
    Dans InstallShield, sont ajoutés 2 autres fichiers à extraire dans c:\Program Files\InstallShield\Express pour Delphi\Redist\IDAPI.CNF (non trouvé) et ..Redist\IDAPINST.DLL .
    Et il est question de "placer" dans les registres HKEY_CLASSES_ROOT, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG et HKEY_DYN_DATA
    Donc, comment fait-on dans Inno Setup ..
    J'ai aperçu dans l'aide un exemple tel ci-après
    :
    [REGISTRY]
    Root: HKCU; Subkey: "Software\My Company"; Flags:uninsdeletekeyifempt etc..
    Pour faire un parallèle avec InstallShield, doit-on se limiter au script tel example : Root: HKCU
    On parle aussi de HKLM32 et HKLM64

    Je suis un peu perdu dans cette rubrique sur l'aide [Registry] section
    Cordialement,
    DUDU31

  17. #17
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par jdudoret Voir le message
    J'ai analysé et comparé ces 2 utilitaires:
    Il y a similitude entre ces 2 installateurs :
    bien sûr
    Un point particulier sur InstallShield : section BDE : cette partie sur installShield est traitée avant la copies des fichiers programmes et librairies+tables. Dans les explications, il est spécifiés de copier une quantité de fichiers contenus dans BDE initialement placé C:\Program Files\Fichiers communs\Borland Shared\BDE\* dans l'application dont BDEAMIN.EXE + 23 .dll ce qui revient pratiquement à copier entièrement le sous répertoire BDE.
    ce faisant vous faites une copie du moteur dans le répertoire du programme ce qui a ses pour et contres :
    - pour, on est sûr d'avoir le moteur
    - contre il peut déjà être installé ailleurs, une duplication (ou plus) est loin d'être une bonne chose

    . image facile à transposer sur Inno Setup.
    oui mais non, avec Inno Setup comme indiqué dans leur page, on utilise uniquement Bdeinst.dll,minireg (et au besoin addalias), minireg se chargeant de faire la partie base de registre, BDEInst.DLL étant la partie installation du BDE (se trouvant dans BDEinst.CAB)

    Dans InstallShield, sont ajoutés 2 autres fichiers à extraire dans c:\Program Files\InstallShield\Express pour Delphi\Redist\IDAPI.CNF (non trouvé) et ..Redist\IDAPINST.DLL .
    Et il est question de "placer" dans les registres HKEY_CLASSES_ROOT, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG et HKEY_DYN_DATA
    là on commence avec un point noir, car la base de registre (fourre tout pas très propre) des nouveaux OS Windows est protégé, et il faut des droits administrateur (exécuter en tant que) sans parler des problèmes avec le 64 bits (HKLM32 et HKLM64) , de virtual store (bac à sable) qui peuvent fournir quelques surprises.

    Donc, comment fait-on dans Inno Setup ..
    surtout ne pas faire comme installshield et suivre les directives http://www.jrsoftware.org/iskb.php?bde (oui je sais en anglais)

    pour ce qui est du problème 64 bits c'est encore un peu plus complexe (merci MS)
    tout d'abord BDE, comme votre application Delphi n'est "que" 32 bits. On ne peut compiler les programmes Delphi en 64 bits qu'avec les versions plus moderne de l'EDI Delphi (toujours en 32 bits lui d'ailleurs). Là où cela se complique c'est quand l'on veut mettre des dlls 32 bits sur un système 64 bits et dans le répertoire system car il faut les placer non dans System32 (ce qui paraitrait logique) mais dans Syswow64 (ça ne s'invente pas) d'où les options d'Inno Setup concernant la détection du système
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  18. #18
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 036
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 036
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour ou plutôt reBonjour,
    je n'avais pas fait attention au post concernant AddAlias
    Citation Envoyé par jdudoret Voir le message
    J'ai extrait le programme AddAlias : Il y a déjà une erreur d'unité BDE qui n'existe pas. Il faut là construire.. sinon, je pourrai le remplacer par une autre où j'ai trouvé quelque chose de similaire où est désigné une unité DBTable
    DBtables appelle BDE donc l'unité BDE existe mais pas le source de BDE (bde.pas) uniquement la "bibliothèque": unité compilée (bde.dcu)
    mais pourquoi recompiler AddAlias puisqu'il y a l'exe ?

    j'en ai profité pour regarder de plus près le source (en fait uniquement un fichier le source du projet .dpr) pour voir s'il était possible de contrôler le NET DIR de paradox (DbiSetProp(), sesNETFILE) comme le ferait Session.SetNetFileDir(),
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  19. #19
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 688
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 688
    Points : 13 117
    Points
    13 117
    Par défaut
    Il ne faut pas trop focaliser sur le 32, 64 bits. Inno Setup est par défaut une installation en mode 32 bits, extrait les fichiers dans les répertoires 32 bits et modifie les clés 32 bits de la base des registres.
    On utilisera donc en général simplement HKLM. HKLM32 n'a aucun intérêt dans ce cas et HKLM64 ne sera utilisé que si vraiment il est nécessaire de modifier une clé 64 bits.

    Mais il est possible de générer un installateur dépendant du système cible en spécifiant ArchitecturesInstallIn64BitMode=x64. Avec ce flag, le même installateur sera 32 bits sur un système 32 et 64 sur un système 64. HKLM sera interprété en fonction du système et s'il est nécessaire de cibler spécifiquement le 32 bits sur un système 64, on spécifiera HKLM32.

    La même logique s'applique aux autres clés du registre et aux répertoires : {pf}, {pf32}, {pf64}, etc.

    Si ArchitecturesInstallIn64BitMode=x64 n'existait pas et que les deux versions (32,64) d'un programme étaient incluses dans un unique installateur, il faudrait dédoubler toutes les entrées en appliquant un test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [Registry]
    Root: "HKLM32"; Subkey: "SOFTWARE\BlaBla"; check not IsWin64
    Root: "HKLM64"; Subkey: "SOFTWARE\BlaBla"; check IsWin64
    alors qu'ici, une seule entrée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [Setup]
    ArchitecturesInstallIn64BitMode=x64
     
    [Registry]
    Root: "HKLM"; Subkey: "SOFTWARE\BlaBla";
    A noter encore que Windows lui-même dédouble certaines clés du registre pour qu'elles soient compatibles 32 et 64 bits, peu importe le mode d'installation. C'est le cas par exemple de App Paths (le pendant BdR de la variable d'environnement PATH). Une entrée sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths sera automatiquement copiée sous HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths.


    ps: désolé d'être un peu sorti du sujet

  20. #20
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Points : 39
    Points
    39
    Par défaut Suite: Inno Setup section 'Registry'
    J'ai reconstruit le fichier d'installation en ajoutant la rubrique [registry]
    Avant, j'avais fait un test d'installation sur le PC origine DELPHI .. cela fonctionnait, par contre installation incomplète sur un autre PC sous XP, vierge de "BDE";
    Donc, suite ajout section [registry] avec quelques difficultés, où l'exemple que j'ai trouvé sur un autre site est un peu tronqué en écriture me donnant déjà un défaut au niveau d'Inno Setup à la compilation. après rectifications des écritures signalées, l'installation locale a aboutie plus rapidement en me donnant immédiatement l'affichage de l'application en bon état de fonctionnement..
    Transposé sur l'autre PC, fonctionnement mais avec une erreur que j'ai pu remédier sur ce second PC .. il s'agissait de modifier le path de l'alias..
    A l'origine, le dossier table paradox avait le chemin suivant :
    C:\Program Files\Borland\Delphi5\Projects\Encyclopedie tubes\Basebd\BaseExc\*. (liste tables) Alias = STANDARD3 / DRIVER PARADOX
    Après l'installation, le chemin est le suivant ;: C:\Program Files\Encyclopedie tubes\Basebd\BaseExc

    L'inclusion du Addalias, tel donné, ne permet pas de faire une modification car on n'écrit nulle part le nouveau chemin pour corriger le fichier de configuration nommé IDAPI.CFG .
    Hier soir, lors du test sur le second PC, je suis allé chercher cd fichier IDAPI.CFG, je l'ai ouvert avec le bloc notes, modifier le chemin en supprimant les "marches" inutiles, sauvegarde, réeissai .. démarrage avec encore une erreur.;
    donc, sur second PC, retour à l'aide explorateur windows, répertoire "Encylo..", ouverture BdeAdmin.exe, rectification path et nouvelle sauvegarde sur ce fameux fichier IDAPI.CFG.. suite redémarrage correct cette fois-ci sur le second PC

    Sur le site http://delphi.about.com/od/dbbde/a/bdealiases.htm page3/5 :

    The following code will add a standard alias for Paradox tables:

    sNewAlias := 'MyNewParadoxAlias';
    sDataDir := 'c:\MyApplication\NewDataDirectory';
    Session.AddStandardAlias(sNewAlias,sDataDir,'PARADOX')
    ensuite,après traduction, sauver configuration par la méthode 'SaveCofigFile' ...
    donc, pas évident pour moi pour un simple amateur en ma personne
    Merci d'avance pour ce dernier détail à résoudre;
    dudu31

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/05/2015, 20h09
  2. Installation sous inno setup du BDE
    Par LuckyLuke56 dans le forum Installation, Déploiement et Sécurité
    Réponses: 2
    Dernier message: 08/03/2007, 21h24
  3. Delphi et inno setup
    Par drakes dans le forum Outils
    Réponses: 10
    Dernier message: 17/09/2004, 10h15
  4. [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
  5. Bde Inno Setup et Test
    Par Fxg dans le forum Bases de données
    Réponses: 2
    Dernier message: 20/07/2004, 14h35

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