Nous sommes le Dim 22 Juin, 2025 23:41
Supprimer les cookies

Page 2 sur 3Précédent 1, 2, 3 Suivant[PortableSofts]PortableMaxima

Image Image Forum dédié à notre projet de clé USB nomade libre sous Windows

Lun 08 Mai, 2006 08:20

Bon, voilà. J'ai apporté quelques modifications et donc maintenant PortableWxMaxima prend en charge toutes les modifications que l'on peut lui faire dans les configurations.
Seul souci, il courcircuite totalement une éventuelle installation "en dur" sans rien vérifier : il supprime tout, donc perte des paramètres de cette installation "en dur". Je vais essayer d'y remédier au plus tôt.
"Heureux l’étudiant qui comme la rivière peut suivre son cours sans quitter son lit" -- Dicton étudiant
mageti

Messages : 234
Géo : Valenciennes pdt les vacances, Bordeaux sinon

Lun 08 Mai, 2006 08:44

mageti a écrit:Bon, voilà. J'ai apporté quelques modifications et donc maintenant PortableWxMaxima prend en charge toutes les modifications que l'on peut lui faire dans les configurations.
Seul souci, il courcircuite totalement une éventuelle installation "en dur" sans rien vérifier : il supprime tout, donc perte des paramètres de cette installation "en dur". Je vais essayer d'y remédier au plus tôt.


ok mais de toute façon on n'est pas censé démarrer une appli portable sur un PC ou elle est installée déja sur disque dur ...

mageti a écrit:PS : merci pour les retours quand même, on peaufine la chose et on est là pour ça, même si ça nous donne du travail . Ca prouve que des gens testent jusqu'au bout et donc que ce qu'on fait sert, et ça fait chaud au coeur.
.

merci c'est sympa mais je peux te retourner le compliment : tu bidouille même les WE !! (cf date de ton post)
pense à tes concours quand même !!

cordialement
JihemD

qui crèche pas loin de la Vallée des cygnes dans le 59
JihemD

Messages : 14

Lun 08 Mai, 2006 08:44

http://nsis.sourceforge.net/Reg2Nsis_-_convert_registry_info_into_NSIS_commands

http://forums.winamp.com/showthread.php?threadid=223066

voila, 2 lien intérréssants sur les sauveragreds de base de regsitres, et les réintégrations...

un fonctionnement "type" a adapter pour que ça fasse le meme type de manip avec la base de regsitre...



Code: Tout sélectionner
If exist "%homedrive%%homepath%\.cornice" goto sauvegarde ELSE goto cornice

:sauvegarde
xcopy /E /H /R /I /Y "%homedrive%%homepath%\.cornice" .cornice2
rd /S /q "%homedrive%%homepath%\.cornice"

:VLC
xcopy /E /H /R /I /Y .cornice "%homedrive%%homepath%\.cornice"
cd cornice
cornice.exe
cd ..
xcopy /E /H /R /I /Y "%homedrive%%homepath%\.cornice" .cornice
rd /S /q "%homedrive%%homepath%\.cornice"
If NOT exist .cornice2 goto fin

:restauration
xcopy /E /H /R /I /Y .cornice2 "%homedrive%%homepath%\.cornice"
rd /S /q .cornice2

:fin


c'est a dire sauvegarde de l'ancien, mise en place de la config portable, execution, ensuite effacement de la config portable, et restauration de l'ancien.

un bout de script intérréssants ... ça donneras des idées a certains... y manque la fonction de sauvegarde et restautration de l'ancien a rajouter...

Code: Tout sélectionner
; ----------------------------------------------------
; PortablePhotoshop
; ----------------------------------------------------
; Par Sarkos & Joshua
; Utilisant comme base de travail le script de John T. Haller et Jonathan Durant
; License : GPL
; Ce script permet de créer PortablePhotoshop.
; Ce script est à compiler avec NSIS de Nullsoft (http://www.nullsoft.com).
; Il nécessite le plugin "ipicsplash" (affichage splashscreen) et "registry"
; (extration et integration dans la base de registre) pour être compilé.
; $id=PortablePhotoshop.nsi $date=2006-04-21
; ----------------------------------------------------
; Général

!define NAME "PortablePhotoshop"
!define APP "Photoshop"
!define VER "0.1.0.1"
!define DEFAULTEXE "Photoshop.exe"
!define DEFAULTAPPDIR "Photoshop"
!define DEFAULTSETTINGSDIR "Settings"


; Nom de l'exécutable
  Name "${NAME}"
; Etiquette
  Caption "${NAME} - Portable et discret"
; Icone
  Icon "${NAME}.ico"
  WindowIcon Off
; Nom du fichier à créer
  OutFile "${NAME}.exe"

; Runtime Switches
  SetDateSave on
  SetDatablockOptimize on
  CRCCheck On
  SilentInstall Silent
  AutoCloseWindow True
  WindowIcon off
  XPSTYLE on
 
; ----------------------------------------------------

; Includes

!include "Registry.nsh"

; ----------------------------------------------------
; Variables

  Var DataDir
  Var AppDirectory
  Var AppExecutable
  Var DisableSplashScreen
  Var ExecString
  Var REGINFO
  Var REGFILE
  Var REGKEY
  Var APPNAME
  Var DEVNAME

; ----------------------------------------------------
; Version Informations

  VIProductVersion "${VER}"
  VIAddVersionKey ProductName "PortablePhotoshop"
  VIAddVersionKey FileDescription "${NAME} pour Windows"
  VIAddVersionKey LegalCopyright "GPL"
  VIAddVersionKey Comments "Permet de lancer ${APP} depuis un disque amovible."
  VIAddVersionKey CompanyName "Framakey"
  VIAddVersionKey OriginalFilename "${NAME}.exe"
  VIAddVersionKey FileVersion "${VER}"

; ----------------------------------------------------
; Sections

;Registry Search Function
Function "RegSearch"
   Pop $R0
   ${registry::Open} "HKEY_CURRENT_USER" "/K=1 /V=0 /S=0 /B=1 /N='$R0'" $0
   StrCmp $0 -1 0 find
   
   find:
      ${registry::Find} $1 $2 $3 $4
      StrCmp $4 '' return
      StrCmp $4 'REG_KEY' 0 return
      StrCpy $REGKEY "HKCU\$1\$2\$3"
      StrCpy $R1 $REGKEY
      Push $R1
      ${registry::Close}
      ${registry::Unload}
      Return
         return:
            ${registry::Close}
            ${registry::Unload}
            StrCpy $R1 ""
            Push $R1
            Return
FunctionEnd

Section "Main"

;Read Program settings
IfFileExists "${DEFAULTSETTINGSDIR}\${NAME}.ini" INIExists NoINI
   INIExists:
      ReadINIStr $DEVNAME "${DEFAULTSETTINGSDIR}\${NAME}.ini" "PROGSETTINGS" "DEVNAME"
      ReadINIStr $APPNAME "${DEFAULTSETTINGSDIR}\${NAME}.ini" "PROGSETTINGS" "APPNAME"
      ReadINIStr $AppExecutable "${DEFAULTSETTINGSDIR}\${NAME}.ini" "PROGSETTINGS" "AppExecutable"
      ReadINIStr $REGFILE "${DEFAULTSETTINGSDIR}\${NAME}.ini" "REGSETTINGS" "REGFILE"
      goto iniCheck
   NoINI:
      Messagebox MB_OK "           No ${NAME}.ini file found.$\nPlease see readme.txt for more information."
      goto end

;Check for problems with INI
iniCheck:
   StrCmp $AppExecutable "" empty notEmpty
      empty:
         Messagebox MB_OK "        No Application Executable set in the ${NAME}.ini file.$\nPlease fill in this information for this program to work correctly."
         Goto End
      notEmpty:
         Goto regInfoCheck

;Check for Registration information file
regInfoCheck:
   IfFileExists "${DEFAULTSETTINGSDIR}\RegInfo.reg" setRegInfo regInfoError
      setRegInfo:
         StrCpy "$REGINFO" "${DEFAULTSETTINGSDIR}\RegInfo.reg"
         Goto restoreReg
      regInfoError:
         Messagebox MB_OK "Photoshop 7.0 needs registration information$\nto run correctly, unfortunately no registration$\ninformation was found.Please follow the$\n'Registration Info Instructions'in the readme.txt to$\nfix this problem."
         Goto End
         
;restore reg settings               
restoreReg:
   StrCmp $REGFILE "" restoreAlt Restore
   Restore:
      ${registry::RestoreKey} "$REGINFO" $R0
      ${registry::RestoreKey} "$REGFILE" $R0
      goto ExecProgram
   restoreAlt:
      ${registry::RestoreKey} "$REGINFO" $R0
      goto ExecProgram

; Start program
ExecProgram:

;    StrCmp $DisableSplashScreen "true" GetAppParameters
; Affiche le splash screen
    InitPluginsDir
    File /oname=$PLUGINSDIR\splash.jpg "${NAME}_splash.jpg"
    ipicsplash::show 3000 600 400 0x04025C "$PLUGINSDIR\splash.jpg"
   
   ExecWait "${DEFAULTAPPDIR}\$AppExecutable.exe"
   goto checkRegDevName

;Find Registry Key
checkRegDevName:
   StrCpy $R0 $DEVNAME
   Push $R0
   Call RegSearch
   Pop $R1
   StrCmp $R1 "" checkRegAppName next
   next:
   StrCpy $REGKEY $R1
   goto saveRegKey
checkRegAppName:
   StrCpy $R0 $APPNAME
   Push $R0
   Call RegSearch
   Pop $R1
   StrCmp $R1 "" checkExecName next2
   next2:
   StrCpy $REGKEY $R1
   goto saveRegKey
checkExecName:
   StrCpy $R0 $AppExecutable
   Push $R0
   Call RegSearch
   Pop $R1
   StrCmp $R1 "" useManRegKey next3
   next3:
   StrCpy $REGKEY $R1
   goto saveRegKey
useManRegKey:
   ReadINIStr $REGKEY "${DEFAULTSETTINGSDIR}\${NAME}.ini" "REGSETTINGS" "MANREGKEY"
   goto saveRegKey

;Check search resutls and export registry key   
saveRegKey:
StrCmp $REGKEY "" error save

   error:
      Messagebox MB_OK "Unfortunately no registry entry could be found within the search criteria.$\nPlease read the 'Finding Registry Key Info' section in the readme.txt file."
      ${Registry::DeleteKey} "HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Photoshop" $R0
      goto end

   save:
      StrCmp $REGFILE "" create overwrite
      create:
         ${registry::SaveKey} "$REGKEY" "${DEFAULTSETTINGSDIR}\Settings.reg" "/G=1" $R0
         ${registry::DeleteKey} "$REGKEY" $R0
         ${registry::DeleteKey} "HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Photoshop" $R0
         goto saveINIdata
      overwrite:
         Delete $EXEDIR\Settings\$REGFILE
         ${registry::SaveKey} "$REGKEY" "$REGFILE" "/G=1" $R0
         ${registry::DeleteKey} "$REGKEY" $R0
         ${registry::DeleteKey} "HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\Photoshop" $R0
         goto saveINIdata
      
   saveINIdata:
      WriteINIStr "${DEFAULTSETTINGSDIR}\${NAME}.ini" "REGSETTINGS" "REGFILE" "${DEFAULTSETTINGSDIR}\Settings.reg"
      WriteINIStr "${DEFAULTSETTINGSDIR}\${NAME}.ini" "REGSETTINGS" "REGISTRATIONINFO" $REGINFO
      WriteINIStr "${DEFAULTSETTINGSDIR}\${NAME}.ini" "REGSETTINGS" "MANREGKEY" $REGKEY
   goto End

End:
SectionEnd
http://www.loolidays.com
joshua

Messages : 3198
Géo : Nice

Lun 08 Mai, 2006 09:07

Merci Joshua,
J'ai trouvé un plug-in de nsis intéressant : registry. Il est génial pour ça.
Le code que j'utilise pour la dernière version de PortbaleWxMaxima a besoin de ce plug-in, et donne (je n'ai mis que la partie intéressante):
Code: Tout sélectionner
!include "Registry.nsh"

...
...

; test s'il existe une autre configuration dans la base de registre
  TestProfile:
     ${registry::KeyExists} "HKEY_CURRENT_USER\Software\wxMaxima" $R8
   StrCmp $R8 "0" ExecWithOtherProfile ExecApp

  ExecWithOtherProfile:
    StrCpy $OUTDIR '${OUTDIR}'
; on sauvegarde la configuration de l'hôte
            ${registry::SaveKey} "HKEY_CURRENT_USER\Software\wxMaxima" "$EXEDIR\Profile\HKCUWxMaxima_hote.reg" "/G=1 /D=2" $R9
; on installe la notre
            ${registry::RestoreKey} "$EXEDIR\Profile\HKCUWxMaxima.reg" $R9
; on lance l'appli
    ExecWait "$ExecString"
; on resauvegarde notre configuration
            ${registry::SaveKey} "HKEY_CURRENT_USER\Software\wxMaxima" "$EXEDIR\Profile\HKCUWxMaxima.reg" "/G=1 /D=2" $R9
; et on réinjecte celle de l'hôte
       ${registry::RestoreKey} "$EXEDIR\Profile\HKCUWxMaxima_hote.reg" $R9
    Goto EndSection

   
; Lancement Application
  ExecApp:
    StrCpy $OUTDIR '${OUTDIR}'
;Intallation du Profile
    ${registry::RestoreKey} "$EXEDIR\Profile\HKCUWxMaxima.reg" $R9
    ExecWait "$ExecString"
; Sauvegarde du profile : on copie les clefs de la base de registre
        ${registry::SaveKey} "HKEY_CURRENT_USER\Software\wxMaxima" "$EXEDIR\Profile\HKCUWxMaxima.reg" "/G=1 /D=2" $R9
; On supprime les clefs de la base de registre
        ${registry::DeleteKey} "HKEY_CURRENT_USER\Software\wxMaxima" $R9
       DeleteRegKey HKCU "Software\wxMaxima"
       Goto EndSection

EndSection:
          ${registry::Unload}

SectionEnd

Sinon, voilà. Plus de problème de ce genre, plus de trace de l'appli portable, même s'il en existe une installée sur le poste hôte.
Joshua, peux-tu remettre encore une fois à jour, please, ça devrait être la dernière (j'espère...), merci.
"Heureux l’étudiant qui comme la rivière peut suivre son cours sans quitter son lit" -- Dicton étudiant
mageti

Messages : 234
Géo : Valenciennes pdt les vacances, Bordeaux sinon

Lun 08 Mai, 2006 09:54

alors...

petit truc... dans cette section en particulier, utiliser des variables comme dans les autres scripts... et bien séparer cela dans une section bien distincte. ça permet en modifiant juste une variable (le chemin dans la base de registre) de pouvoir adapter "facilement" ce script a un autre prog...


Code: Tout sélectionner
; test s'il existe une autre configuration dans la base de registre
  TestProfile:
     ${registry::KeyExists} "HKEY_CURRENT_USER\Software\wxMaxima" $R8
   StrCmp $R8 "0" ExecWithOtherProfile ExecApp

  ExecWithOtherProfile:
    StrCpy $OUTDIR '${OUTDIR}'
; on sauvegarde la configuration de l'hôte
            ${registry::SaveKey} "HKEY_CURRENT_USER\Software\wxMaxima" "$EXEDIR\Profile\HKCUWxMaxima_hote.reg" "/G=1 /D=2" $R9
; on installe la notre
            ${registry::RestoreKey} "$EXEDIR\Profile\HKCUWxMaxima.reg" $R9
; on lance l'appli
    ExecWait "$ExecString"
; on resauvegarde notre configuration
            ${registry::SaveKey} "HKEY_CURRENT_USER\Software\wxMaxima" "$EXEDIR\Profile\HKCUWxMaxima.reg" "/G=1 /D=2" $R9
; et on réinjecte celle de l'hôte
       ${registry::RestoreKey} "$EXEDIR\Profile\HKCUWxMaxima_hote.reg" $R9
    Goto EndSection


sarkos c'est résolument engagé dans le chemin des variables a definir en debut de script pour des raisons évidentes de simplicité de modification... ça te parle??? :wink:

bon, je met a jour de ce pas...
http://www.loolidays.com
joshua

Messages : 3198
Géo : Nice

Lun 08 Mai, 2006 10:17

Ok, merci.
Sarkos n'a pas tout à fait tord :P . Faut juste que je retrouve mes vieux automatismes de programmeur java (que j'ai pas mal oublié depuis trois ans :( ).
J'ai rajouté dans l'espace que tu m'alloues un sous-répertoire PortableMaxima avec dedans la dernière version du script en tenant compte de tes remarques et le lanceur compilé associé, si ça peut servir à d'autres...

Sinon, à tous ceux que les palabres techniques n'intéressent pas, le package PortableMaxima est fonctionnel, discret, au standard, garde les configurations, et est téléchargeable dans le tout premier post.
"Heureux l’étudiant qui comme la rivière peut suivre son cours sans quitter son lit" -- Dicton étudiant
mageti

Messages : 234
Géo : Valenciennes pdt les vacances, Bordeaux sinon

Lun 08 Mai, 2006 10:37

lol.. je suis persuadé que ces palabres techniques justement vont aprendre a certains le fonctionnement des lanceurs, et que certains vont etres tentés de les adapter a d'autre programmes..

et plus il y auras de fous, plus on auras de programmes a dispos pour nos jolies framakey..... :wink:

par contre, il faut preciser que ce genre de lanceur avec edition de la base de registre pour la sauvegarde des ancien params etc, ne fonctionneras que si l'utilisateur est administrateur de son poste et à accés au registre... si ce n'est pas le cas, le script ne pourras pas se derouler...

un petit test pour verifier les droits utilisateurs et afficher un avertissement si l'utilisateur ne dispose pas de ces droits serais intérréssant.. nan?
http://www.loolidays.com
joshua

Messages : 3198
Géo : Nice

Lun 08 Mai, 2006 10:58

houlà, tu m'en demandes beaucoup, là.
Bon, j'édite mon premier post pour les précisions, et je me renseigne sur la possibilité de connaître les droits utilisateurs.

Edit :
Ok, c'est bon. Le lanceur vérifie les droits admin.
Par contre, je n'est pas de quoi tester, n'ayant chez moi que XP home en tant qu'administrateur...
Faut encore mettre à jour le package et le répertoire PortableMaxima, Joshua, désolé.
Pour ceux qui avait la version précédente, il suffit de mettre à jour le lanceur ici.
Pour ceux que le script intéresse, c'est ici.
"Heureux l’étudiant qui comme la rivière peut suivre son cours sans quitter son lit" -- Dicton étudiant
mageti

Messages : 234
Géo : Valenciennes pdt les vacances, Bordeaux sinon

Lun 08 Mai, 2006 17:13

mageti a écrit:Par contre, je n'est pas de quoi tester, n'ayant chez moi que XP home en tant qu'administrateur...


houlala tu vas me bénir Mageti :

je viens de lancer [portable]wxMaxima téléchargé ce lundi 12h sur mon PC bureau P4 Win XP pro SP1 où Maxima n'est pas installé :

tous les boutons sont là !!!

je change un peu la config avec le menu pour n'en avoir aucuns et tester changement config de wxMaxima et je relance :

réponse 'Wxmaxima.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru.'

je télécharge à 18h le lanceur et je réessaie sur la même bécane :
kifkif !! m...

y'a plus que la version d'hier qui accepte de se lancer :

j'ai fait une connerie qqpart?
je dois virer des choses de la base de registre ?

JihemD
JihemD

Messages : 14

Lun 08 Mai, 2006 18:02

je vient d'arriver chez moi, donc, je met en ligne la new version de mageti... désolé.. pas pu aller plus vite... 8)
http://www.loolidays.com
joshua

Messages : 3198
Géo : Nice

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit