[C++] Chemin relatif
Résolu
KX
Messages postés
19031
Statut
Modérateur
-
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
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
-
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"). -
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 -
J'ai trouvé ! Ça venais bien de Inno Setup, donc j'ai trouvé dans la FAQ