[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...

3 réponses

Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
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
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
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