[C++] Chemin relatif

Résolu
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. Contributeur
    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
    1. Modérateur
      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
      1. Modérateur
        J'ai trouvé ! Ça venais bien de Inno Setup, donc j'ai trouvé dans la FAQ
        0