J'essaie de portabiliser une application que j'ai programmée, déjà nativement portable. Cela ne devrait pas poser de problèmes...en théorie.
J'ai suivi le tuto et lorsque je crée l'application portable avec NSIS, l'exécutable obtenu ne contient pas mon programme et me dit que l'exécutable est introuvable.
Je ne vois pas où ça coince.
Voici la structure des répertoires après génération de l'XML :
PortablePrestoNotes
...PortablePrestoNotesCode
......PortablePrestoNotes.nsi
......PortablePrestoNotes.ico
......PortablePrestoNotes.ini
......PortablePrestoNotes_16px.bmp
......PortablePrestoNotes_splash.jpg
......PortablePrestoNotes_splash.xcf
......ReadMe.txt
...PortablePrestoNotesKiosk
......PortablePrestoNotes.xml
......PortablePrestoNotes_64px.png
......PortablePrestoNotes_128px.png
......PortablePrestoNotes_screenshot.png
......PortablePrestoNotes_screenshot_small.png
...PrestoNotes
......PrestoNotes.exe
......divers fichiers utilisés par l'application
Et lorsque j'exécute NSIS, voici le résultat :
- Code: Tout sélectionner
MakeNSIS v2.18 - Copyright 1999-2006 Nullsoft, Inc.
Portions Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler (zlib).
Portions Copyright (C) 1996-2002 Julian R Seward (bzip2).
Portions Copyright (C) 1999-2003 Igor Pavlov (lzma).
Contributors: nnop@newmail.ru, Ryan Geiss, Andras Varga, Drew Davidson, Peter Windridge, Dave Laundon, Robert Rainwater, Yaroslav Faybishenko, Jeff Doozan, Amir Szekely, Ximon Eighteen, et al.
Traitement de la config:
Traitement des dlls de plugin: "F:\Mes documents\Programmes\PrestoNotes Portable\PackDePortabilisationFramakey\PortableNSIS\NSIS\Plugins\*.dll"
- AdvSplash::show
- Banner::destroy
- Banner::getWindow
- Banner::show
- BgImage::AddImage
- BgImage::AddText
- BgImage::Clear
- BgImage::Destroy
- BgImage::Redraw
- BgImage::SetBg
- BgImage::SetReturn
- BgImage::Sound
- Dialer::AttemptConnect
- Dialer::AutodialHangup
- Dialer::AutodialOnline
- Dialer::AutodialUnattended
- Dialer::GetConnectedState
- FindProcDLL::FindProc
- InstallOptions::dialog
- InstallOptions::initDialog
- InstallOptions::show
- KillProcDLL::KillProc
- LangDLL::LangDialog
- Math::Script
- NSISdl::download
- NSISdl::download_quiet
- Splash::show
- StartMenu::Init
- StartMenu::Select
- StartMenu::Show
- System::Alloc
- System::Call
- System::Copy
- System::Free
- System::Get
- System::Int64Op
- System::Store
- TypeLib::GetLibVersion
- TypeLib::Register
- TypeLib::UnRegister
- UserInfo::GetAccountType
- UserInfo::GetName
- VPatch::vpatchfile
- ZipDLL::extractall
- ZipDLL::extractfile
- ipicsplash::show
- newadvsplash::hwnd
- newadvsplash::play
- newadvsplash::show
- newadvsplash::stop
- newadvsplash::wait
- nsExec::Exec
- nsExec::ExecToLog
- nsExec::ExecToStack
!define: "MUI_INSERT_NSISCONF"=""
Changement de repertoire vers: "D:\PortablePrestoNotes\PortablePrestoNotesCode"
Traitement du fichier script: "D:\PortablePrestoNotes\PortablePrestoNotesCode\PortablePrestoNotes.nsi"
!define: "APPLANG"="Fr"
!define: "NAME"="PortablePrestoNotes"
!define: "FULLNAME"="PortablePrestoNotes"
!define: "APP"="PrestoNotes"
!define: "VER"="4.8.0.0"
!define: "WEBSITE"="http://www.framakey.org"
!define: "DEFAULTEXE"="PrestoNotes.exe"
!define: "DEFAULTAPPDIR"="PrestoNotes"
Titre: "PortablePrestoNotes - Utilitaire de Post-its"
Nom: "PortablePrestoNotes"
Icone: "PortablePrestoNotes.ico"
WindowIcon: Off
OutFile: "PortablePrestoNotes.exe"
SetDateSave: on
SetDatablockOptimize: on
CRCCheck: On
SilentInstall: Silent
AutoCloseWindow: true
Var: "IniPath"
Var: "DataDir"
Var: "AppDirectory"
Var: "AppExecutable"
Var: "AdditionalParameters"
Var: "DisableSplashScreen"
Var: "Drive"
Var: "ExecString"
LoadLanguageFile: F:\Mes documents\Programmes\PrestoNotes Portable\PackDePortabilisationFramakey\PortableNSIS\NSIS\Contrib\Language Files\French.nlf
VIAddVersionKey: "FileDescription" "PortablePrestoNotes pour Windows"
VIAddVersionKey: "LegalCopyright" "GPL"
VIAddVersionKey: "Comments" "Permet de lancer PrestoNotes (Fr) depuis un disque amovible. Pour plus de détails, visitez http://www.framakey.org"
VIAddVersionKey: "CompanyName" "Framakey"
VIAddVersionKey: "OriginalFilename" "PortablePrestoNotes.exe"
VIAddVersionKey: "FileVersion" "4.8.0.0"
Section: "Main"
IfFileExists: "$EXEDIR\PortablePrestoNotes.ini" ? : CheckDataINI
StrCpy $IniPath "$EXEDIR" () ()
Goto: ReadINI
Push: $EXEDIR
Call "GetRoot"
Pop: $0
StrCpy $DataDir "$0\Data\AppsData" () ()
IfFileExists: "$DataDir\PrestoNotes\PortablePrestoNotes.ini" ? : NoINI
StrCpy $IniPath "$DataDir\PrestoNotes" () ()
Goto: ReadINI
ReadINIStr $0 [PortablePrestoNotes]:PrestoNotesDirectory depuis $IniPath\PortablePrestoNotes.ini
StrCpy $AppDirectory "$EXEDIR\$0" () ()
IfErrors ?NoINI:
ReadINIStr $0 [PortablePrestoNotes]:AdditionalParameters depuis $IniPath\PortablePrestoNotes.ini
StrCpy $AdditionalParameters "$0" () ()
ReadINIStr $0 [PortablePrestoNotes]:PrestoNotesExecutable depuis $IniPath\PortablePrestoNotes.ini
StrCpy $AppExecutable "$0" () ()
ReadINIStr $0 [SplashScreen]:DisableSplashScreen depuis $IniPath\PortablePrestoNotes.ini
StrCpy $DisableSplashScreen "$0" () ()
ClearErrors
StrCmp "$AppExecutable" "" egal=, nonegal=EndINI
StrCpy $AppExecutable "PrestoNotes.exe" () ()
Goto: EndINI
StrCpy $AdditionalParameters "" () ()
StrCpy $AppExecutable "PrestoNotes.exe" () ()
StrCpy $DisableSplashScreen "false" () ()
IfFileExists: "$EXEDIR\PrestoNotes\PrestoNotes.exe" ? : NoProgramEXE
StrCpy $AppDirectory "$EXEDIR\PrestoNotes" () ()
Goto: EndINI
IfFileExists: "$AppDirectory\$AppExecutable" ? FoundProgramEXE :
MessageBox: 48: "$AppExecutable est introuvable. Vérifiez votre configuration"
Abort: ""
StrCmp "$DisableSplashScreen" "true" egal=CheckDrive, nonegal=
InitPluginsDir
File: "PortablePrestoNotes_splash.jpg"->"$PLUGINSDIR\splash.jpg" [compression] 22084/22296 octets
File: "newadvsplash.dll"->"$PLUGINSDIR\newadvsplash.dll" [compression] 4226/8704 octets
Commande de Plugin: show 3000 200 200 -1 /L $PLUGINSDIR\splash.jpg
Push: $EXEDIR
Call "GetRoot"
Pop: $0
StrCpy $Drive "$0" () ()
Call "GetParameters"
Pop: $0
StrCmp "'$0'" "''" egal=, nonegal=ExecWithParameters
StrCpy $ExecString ""$AppDirectory\$AppExecutable"" () ()
Goto: AdditionalParameters
StrCpy $ExecString ""$AppDirectory\$AppExecutable" $0" () ()
Goto: ExecApp
StrCmp "$AdditionalParameters" "" egal=ExecApp, nonegal=
StrCpy $ExecString "$ExecString $AdditionalParameters" () ()
Exec: "$ExecString" (->)
SectionEnd
Section: ".onInit"
Call "Mutex"
SectionEnd
Fonction: "GetParameters"
Push: $R0
Push: $R1
Push: $R2
StrCpy $R0 "$CMDLINE" (1) ()
StrCpy $R1 """ () ()
StrCpy $R2 "1" () ()
StrCmp "$R0" """ egal=loop, nonegal=
StrCpy $R1 " " () ()
StrCpy $R0 "$CMDLINE" (1) ($R2)
StrCmp "$R0" "$R1" egal=loop2, nonegal=
StrCmp "$R0" "\" egal=, nonegal=nofile
IntOp: $2=$R2+1
StrCmp "$R0" "" egal=loop2, nonegal=
IntOp: $R2=$R2+1
Goto: loop
IntOp: $R0=$R2-$2
IntOp: $R0=$R0-4
StrCpy $R7 "$CMDLINE" ($R0) ($2)
IntOp: $R2=$R2+1
StrCpy $R0 "$CMDLINE" (1) ($R2)
StrCmp "$R0" " " egal=loop2b, nonegal=
StrCpy $R0 "$CMDLINE" () ($R2)
Pop: $R2
Pop: $R1
Exch($R0,0)
FunctionEnd
Fonction: "GetRoot"
Exch($0,0)
Push: $1
Push: $2
Push: $3
Push: $4
StrCpy $1 "$0" (2) ()
StrCmp "$1" "\\" egal=UNC, nonegal=
StrCpy $0 "$1" () ()
Goto: done
StrCpy $2 "3" () ()
StrLen $3 "$0"
IntCmp $2:$3 equal=, < , > loopend
StrCpy $1 "$0" (1) ($2)
IntOp: $2=$2+1
StrCmp "$1" "\" egal=loopend, nonegal=loop
StrCmp "$4" "1" egal=+3, nonegal=
StrCpy $4 "1" () ()
Goto: loop
IntOp: $2=$2-1
StrCpy $0 "$0" ($2) ()
Pop: $4
Pop: $3
Pop: $2
Pop: $1
Exch($0,0)
FunctionEnd
Fonction: "Mutex"
File: "System.dll"->"$PLUGINSDIR\System.dll" [compression] 5857/9728 octets
Commande de Plugin: Call kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e
Pop: $R0
StrCmp "$R0" "0" egal=+3, nonegal=
MessageBox: 48: "PortablePrestoNotes est déjà lancé."
Abort: ""
FunctionEnd
Traitement 1 fichier, ecriture sortie:
Ajout des fonction d'initialisation des plug-ins... Done!
alerte: label "GetAppParameters" non utilise
Traitement des pages... Fait!
Suppression des ressources inutilisees... Fait!
Generation des tables de langue... Fait!
Sortie: "D:\PortablePrestoNotes\PortablePrestoNotesCode\PortablePrestoNotes.exe"
Install: 0 pages (0 octets), 2 sections (2096 octets), 145 instructions (4060 octets), 73 chaines (1311 octets), 1 table de langue (162 octets).
Utilise la compression zlib.
Taille Entete EXE: 35328 / 35840 octets
Code Installation: 1577 / 7945 octets
Donnees Installation: 32179 / 40740 octets
CRC (0x5D3F4B00): 4 / 4 octets
Taille Totale: 69088 / 84529 octets (81.7%)
1 alerte:
label "GetAppParameters" non utilise
Apparamment, il n'a pas trouvé PrestoNotes.exe !
Quelqu'un peut m'aider ?
-
Michel Meynsbrughen
- Messages : 9
- Géo : Bruxelles