J'aimerai savoir comment faire pour sauvegarder les modifications faite par le programme durant son exécution.
J'ai essayer de portabilisé aMSN ce programme est assez portable puisqu'il crée uniquement un dossier dans $PROFILE\amsn (C:\Documents and Settings\USERNAME\amsn) (les clés de registre crée sont inutile)
Mon problème est que mon launcher crée bien les fichier dans $PROFILE\amsn le programme fonctionne par contre il ne me sauvegarde pas les fichiers crées durant l'utilisation du logiciel!! Et une fois fini il ne supprime pas le dossier crée...
J'aimerais donc savoir comment faire pour que les modifications soit copier dans le dossier data et de supprimer le dossier une fois le programme fermé.
Merci pour votre aide
Pour ce qui est des fichiers
App
>aMSN
>contient les fichiers du programme
Data
>amsn
>contient les fichiers data qui vont dans C:\Documents and Settings\USERNAME\amsn
Source
> Contient mon icone ainsi que mon script nsi
Voici mon code pour le launcher
- Code: Tout sélectionner
/* CONSTANTS */
; --- Define Version and Name
!define VER "0.0.0.1"; version of launcher
!define APPNAME "aMSN"; complete name of program
!define APP "aMSN"; short name of program without space and accent this one is used for the final executable an in the directory structure
!define APPEXE "aMSN.exe"; main exe name
!define APPDIR "App\aMSN"; main exe relative path
;!define APPSWITCH ``; some default Parameters
; ---Define Local Dirs and Portable Dirs ---
!define LOCALDIR1 "$PROFILE\amsn"
!define PORTABLEDIR1 "$EXEDIR\Data\amsn"
/* Set basic information */
Name "${APPNAME} Portable"
OutFile "..\${APP}Portable.exe"
Icon "${APP}.ico"
/* Set version information */
Caption "${APPNAME} Portable"
VIProductVersion "${VER}"
VIAddVersionKey ProductName "${APPNAME} Portable"
VIAddVersionKey Comments "${APPNAME} peu être executer sans installation préalable."
VIAddVersionKey CompanyName ""
VIAddVersionKey LegalCopyright ""
VIAddVersionKey FileDescription "${APPNAME} Portable"
VIAddVersionKey FileVersion "${VER}"
VIAddVersionKey ProductVersion "${VER}"
VIAddVersionKey InternalName "${APPNAME} Portable"
VIAddVersionKey LegalTrademarks ""
VIAddVersionKey OriginalFilename "${APP}Portable.exe"
/* Best Compression */
SetCompressor /SOLID lzma
SetCompressorDictSize 32
/* Runtime Switches */
WindowIcon Off
SilentInstall Silent
AutoCloseWindow True
RequestExecutionLevel user
/* Running */
Section "Main"
Call BackupLocalDirs
Call RestorePortableDirs
Call Launch
Call BackupPortableDirs
Call RestoreLocalDirs
SectionEnd
/* Run Application */
Function Launch
;SetOutPath "$EXEDIR\${APPDIR}"
;${GetParameters} $0
ExecWait "$EXEDIR\${APPDIR}\${APPEXE}"
;WriteINIStr "$EXEDIR\Data\${APP}Portable.ini" "${APP}Portable" "GoodExit" "true"
FunctionEnd
/* Actions on Folders */
Function BackupLocalDirs
RMDir "/r" "${LOCALDIR1}-BackupBy${APP}Portable"
Rename "${LOCALDIR1}" "${LOCALDIR1}-BackupBy${APP}Portable"
FunctionEnd
Function RestorePortableDirs
IfFileExists "${PORTABLEDIR1}\*.*" +4
IfFileExists "$EXEDIR\Data\amsn\*.*" 0 +5
CreateDirectory "${PORTABLEDIR1}"
CopyFiles /SILENT "$EXEDIR\Data\amsn\*.*" "${PORTABLEDIR1}"
CreateDirectory "${LOCALDIR1}"
CopyFiles /SILENT "${PORTABLEDIR1}\*.*" "${LOCALDIR1}"
FunctionEnd
Function BackupPortableDirs
RMDir "/r" "${PORTABLEDIR1}"
CreateDirectory "${PORTABLEDIR1}"
CopyFiles /SILENT "${LOCALDIR1}\*.*" "${PORTABLEDIR1}"
FunctionEnd
Function RestoreLocalDirs
RMDir "/r" "${LOCALDIR1}"
Rename "${LOCALDIR1}-BackupBy${APP}Portable" "${LOCALDIR1}"
;RMDir "${LOCALDIR1}"
FunctionEnd
-
instabledesign
- Messages : 3