[C++] Chemin relatif

Résolu
KX Messages postés 19031 Statut Modérateur -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

Je viens de terminer un programme en C++, je l'ai compilé et tout marche... Mais !

Quand je créé un installateur (avec Inno Setup) et que j'accède à mon programme via le raccourci du bureau ou le menu démarrer, je me retrouve avec le message d'erreur que j'ai prévu au cas où un fichier ne puisse pas être lu.
Et il se trouve que dans mon code ce fichier est appelé avec un chemin relatif (dans le même dossier que l'exécutable).

J'aimerais donc comprendre pourquoi ce fichier n'est pas trouvé quand je lance le programme avec les raccourcis alors qu'il le trouve très bien quand je le lance directement depuis le .exe !

Merci d'avance pour tout élément de réponse...
--
La confiance n'exclut pas le contrôle 
Configuration: Windows Vista SP2 / Windows 7RC (VirtualBox 3.0)

3 réponses

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Salut.
    à mon avis, c'est un problème Windows.
    Regarde dans propriété de ton raccourci, normalement, il y a une ligne correspondant au dossier dans lequel on doit ouvrir le programme ("demarrer dans").
    0
  2. KX Messages postés 19031 Statut Modérateur 3 020
     
    Il n'y a rien dans "démarrer dans" ni sur l'icône du bureau, ni sur celle de menu démarrer...
    Dois-je en déduire un problème avec Inno Setup ?
    Si oui voici le script que j'ai compilé, dès fois qu'un détail m'ai échappé...
    ; Script generated by the Inno Setup Script Wizard.
    ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
    
    [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={{0CF9B352-15EF-4F4F-89DC-9C129BC9A2FA}
    AppName=Anagrammes
    AppVerName=Anagrammes 3.0
    AppPublisher=KX
    DefaultDirName={pf}\Anagrammes 3.0
    DefaultGroupName=Anagrammes
    AllowNoIcons=yes
    OutputDir=C:\Users\KX\Desktop
    OutputBaseFilename=Anagrammes 3.0
    Compression=lzma
    SolidCompression=yes
    
    [Languages]
    Name: "french"; MessagesFile: "compiler:Languages\French.isl"
    
    [Tasks]
    Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
    Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
    
    [Files]
    Source: "C:\Users\KX\Desktop\Anagrammes 3.0\Anagrammes.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Users\KX\Desktop\Anagrammes 3.0\Code Source.zip"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Users\KX\Desktop\Anagrammes 3.0\Index.dat"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Users\KX\Desktop\Anagrammes 3.0\Lexique3.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Users\KX\Desktop\Anagrammes 3.0\mingwm10.dll"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Users\KX\Desktop\Anagrammes 3.0\QtCore4.dll"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Users\KX\Desktop\Anagrammes 3.0\QtGui4.dll"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Users\KX\Desktop\Anagrammes 3.0\LisezMoi.txt"; DestDir: "{app}"; Flags: ignoreversion
    ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
    
    [Icons]
    Name: "{group}\Anagrammes"; Filename: "{app}\Anagrammes.exe"
    Name: "{group}\{cm:UninstallProgram,Anagrammes}"; Filename: "{uninstallexe}"
    Name: "{commondesktop}\Anagrammes"; Filename: "{app}\Anagrammes.exe"; Tasks: desktopicon
    Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Anagrammes"; Filename: "{app}\Anagrammes.exe"; Tasks: quicklaunchicon
    
    [Run]
    Filename: "{app}\Anagrammes.exe"; Description: "{cm:LaunchProgram,Anagrammes}"; Flags: nowait postinstall skipifsilent
    0
  3. KX Messages postés 19031 Statut Modérateur 3 020
     
    J'ai trouvé ! Ça venais bien de Inno Setup, donc j'ai trouvé dans la FAQ
    0