Menù Principale

Cerca
Login
Registrati
Link
<< Discussione precedente | Discussione successiva >>   
Undelete Plus (era: [RunBefore])

Vai a pagina       >>  
Autore Messaggio
Costa28
mer 18 apr 2007 - 14:22
online
Utente registrato #56
Registrato il: dom 21 gen 2007 - 10:18
Messaggi: 64

Ho notato che se uso la forma veloce:

[RunBefore]
RegEdit=$Lib$\User.reg|$Temp$\Temp.reg

viene inserito solo Temp.reg

Dove sbaglio?

[ Modificato dom 22 apr 2007 - 15:43 ]
Torna ad inizio pagina
simongr
mer 18 apr 2007 - 15:21

online
Utente registrato #23
Registrato il: sab 20 gen 2007 - 23:54
Messaggi: 858
Ciao...benvenuto...
In cosa sbagli?
ehm....
E a cosa ti riferisci?
Dove stai usando quel settaggio?
Per quale programma?
Giusto per avere anche noi un idea di cosa stai provando a fare te....cosi come hai scritto è un tantino vago!!!


E di conseguenza anche il titolo del topic è decisamente vago...

Per la prossima volta cosi sai che piu info ci dai piu facile è per noi aiutarti!
Ciao!
Torna ad inizio pagina
Costa28
gio 19 apr 2007 - 11:01
online
Utente registrato #56
Registrato il: dom 21 gen 2007 - 10:18
Messaggi: 64
Mah !
La domanda mi pareva molto semplice
Costa28 ha scritto ...

Ho notato che se uso la forma veloce:

[RunBefore]
RegEdit=$Lib$\User.reg|$Temp$\Temp.reg

viene inserito solo Temp.reg


Ossia quando eseguo il programma, nel file di registro mi trovo inserito solo il contenuto del file temp.reg.

Lo stesso problema l'ho incontrato con la funzione FileCopy
(cioè che viene copiato solo il file alla fine del comando e non i precedenti.

Tra l'altro, ho scaricato alcuni X-program disponibili su questo sito, ma in nessuno ho trovato l'uso della funzione rapida dei comandi sopra detti.

Ora vedo di riproporre il problema con un programma free e posto il codice
Torna ad inizio pagina
Costa28
gio 19 apr 2007 - 11:43
online
Utente registrato #56
Registrato il: dom 21 gen 2007 - 10:18
Messaggi: 64
Allora il programmino è Undelete plus.

Nonostante sia un programma praticamente standalone, scrive nel registro di windows solo 3 chiavi:
- la lingua;
- la cartella di destinazione dei files recuperati;
- un flag

Queste chiavi vengono importate nel sistema con il runbefore:

User.reg
REGEDIT4

[HKEY_CURRENT_USER\Software\FDRLab]

[HKEY_CURRENT_USER\Software\FDRLab\Undelete Plus]
"language"="60000"
"path"="C:\\Documents and Settings\\User\\Desktop"
"kfs"="1"



Questo è il mio lavoro:

[Setup]
AppName=Undelete plus
AppVer= 2.7.1
UserName=User
Profile=Default
Lang= %LANG%

[FileSystem]
ScriptName=Undelete plus 2.7.1
Root=@ScriptDir@
Temp=.\Temp
Bin=.\Bin
Backup=.\Backups
Doc=.\Documents
Lib=.\Lib

[FileToRun]
PathToExe=$AppName$.exe
WorkingDir=$Bin$\$AppName$\
Parameters=
WinGetProcess=

[Options]
DeleteTemp=true
MultipleIstances=false
FixAppData=false
RunWait=true
ShowSplash=false
WriteLog=false

[SplashScreen]
Image=$Lib$\Splash.jpg
Title="Undelete plus 2.7.1"
TimeOut=5000

[Environment]
BACKUP_DIR=$Backup$
LIB_DIR=$Lib$
HOME=$Home$\$AppName$
USERPROFILE=%USERPROFILE%
PATH=%PATH%;@ScriptDir@

[Functions]

[RunBefore]
RegEdit=$Lib$\User.reg

[RunAfter]


Il tutto così funziona.
Però volevo ulteriormente migliorare lo script in questo senso:
Supponiamo che l'ultimo ripristino di un file sia avvenuto nella cartella:
C:\D&S\Emanuela Arcuri\Desktop
Al termine delle operazioni, nel file user.reg sarà memorizzato il percorso predetto.

Al prossimo uso del programma, esso mi proporrà di default detta cartella che è sicuramente inesistente poichè ora lavoro sul desktop di Cristina Chiabotto.
(Alla domanda: "e allora?" rispondo che dal punto di vista informatico non è che sia un grosso problema, ma sai se non cerco un rimedio, Cristina si accorge che lavoro anche sul computer di Emanuela e non la prenderebbe bene

Quindi avevo pensato di impostare la chiave di registro:
"path"="C:\\Documents and Settings\\User\\Desktop"
puntando il desktop del current user prima del lancio del programma.

Questo può essere fatto in due mod:
il primo usando la funzione di sostituzione stringa nel file user.reg che però non funziona a causa della presenza degli apici che impallano il tutto;
il secondo creando un file temp contenente:

[Functions]
[WriteToReg=$Temp$\Temp.reg]
MainKey=HKEY_CURRENT_USER\Software\FDRLab\Undelete Plus
"path"=%USERPROFILE%\Desktop|"\\


e modificando la sezione Runbefore:

[RunBefore]
RegEdit=$Lib$\User.reg|$Temp$\Temp.reg


Temp.reg

REGEDIT4
[HKEY_CURRENT_USER\Software\FDRLab\Undelete Plus]
"path"="C:\\Documents and Settings\\administrator\\Desktop"



Non ti sfuggirà che lanciando il programma, lo stesso partirà in inglese e ti mostrerà il percorso del desktop del CU. Questo significa che non è stato caricato il file User.reg ma solo il Temp.reg

Hai qualche suggerimento?

[ Modificato ven 20 apr 2007 - 08:32 ]
Torna ad inizio pagina
simongr
gio 19 apr 2007 - 15:11

online
Utente registrato #23
Registrato il: sab 20 gen 2007 - 23:54
Messaggi: 858
adesso è più chiaro quello che stavi facendo...scusami ma il tuo primo post non era cosi...
Cmq...

Cerchiamo adesso però di capire cosa succede chiedendo anche a TITTOproject che ha sviluppato l'x-launcher se ha un'idea del perchè faccia cosi.

Per il resto che dire....complimenti per le clienti che hai
Torna ad inizio pagina
Costa28
gio 19 apr 2007 - 19:26
online
Utente registrato #56
Registrato il: dom 21 gen 2007 - 10:18
Messaggi: 64
simongr ha scritto ...

Cerchiamo adesso però di capire cosa succede chiedendo anche a TITTOproject che ha sviluppato l'x-launcher se ha un'idea del perchè faccia cosi.


Quindi fa così anche a te?

simongr ha scritto ...

Per il resto che dire....complimenti per le clienti che hai


Beh ... sai ... ogni tanto nei miei sogni passa la Ferilli, la Bellucci, la Hunzinger.
Ma non capisco il perchè alla fine ... si lavora al computer
Torna ad inizio pagina
tittoproject
dom 22 apr 2007 - 15:40

online
Utente registrato #821
Registrato il: mer 24 gen 2007 - 17:22
Messaggi: 592
Mi associo ai complimenti per le tue clienti! Naturalmente, se serve aiuto (ma anche se non serve), arrivo di corsa

Prima di tutto un chiarimento sulla portabilizzazione della chiavi di registro: bisogna prima creare il file *.reg, con la funzione [WriteToReg] (che non vedo nel tuo .ini), e quindi avviarle, con la funzione "Regedit".

Con la solita disposizione delle cartelle, cioè:

X-Undelete.exe --> X-Launcher
Bin\Undelete\undelete_plus.exe --> eseguibile
User\Undelete\undelete_plus.reg --> impostazioni

L'.ini viene:
[Setup]
AppName=Undelete

[FileToRun]
PathToExe=$Bin$\$AppName$\undelete_plus.exe

[WriteToReg=$Home$\$AppName$\undelete_plus.reg]
MainKey=HKEY_CURRENT_USER\Software\FDRLab\Undelete Plus
"path"=@DesktopDir@|\\"

[RunBefore]
Regedit=$Home$\$AppName$\undelete_plus.reg

[Options]
ShowSplash=true
WriteLog=false


Da notare che per specificare la cartella del Desktop ho usato la macro di AutoIt (vedere l'help di AutoIt).

In allegato il codice sorgente per compilarsi il launcher.
1177249232_821_FT2611_x-undelete_src.zip
Torna ad inizio pagina
Costa28
lun 23 apr 2007 - 09:53
online
Utente registrato #56
Registrato il: dom 21 gen 2007 - 10:18
Messaggi: 64
Ciao Titto e grazie per l'attenzione.

Ti prego di non arrabbiarti ma ... non hai risposto alla mia domanda.

Se leggi con attenzione il mio post ti accorgerai che è diviso in due sezioni:
La prima con il codice "funzionante" senza la gestione del percorso di salvataggio (che è quella che hai letto tu)
La seconda che, dopo avere esposto il problema che intendevo risolvere, forniva due strade, una sola delle quali praticabile.

In quella sezione, troverai la parte WriteToReg che avevo fatto e che non mi funziona perchè non riesco a lanciare con lo stesso comando 2 (o + operazioni) con la forma rapida, in quanto viene eseguita solamente l'ultima.

Con il tuo script, fra l'altro, non carichi le impostazioni User.reg che sono quelle di default dell'utente.

Se per favore fai una prova di funzionamento con il mio codice, aggiungendoci la funzione WriteToReg (che come vedi è = alla tua tranne per la tua finezzanella scelta delle cartelle) e il WriteoReg doppio, mi potrai finalmente dire che cosa non v a.

Grazie
Torna ad inizio pagina
tittoproject
lun 23 apr 2007 - 14:43

online
Utente registrato #821
Registrato il: mer 24 gen 2007 - 17:22
Messaggi: 592
Costa28 ha scritto ...

Ciao Titto e grazie per l'attenzione.

Ti prego di non arrabbiarti ma ... non hai risposto alla mia domanda.

Non preoccuparti, sono qua a posta

Rileggendo con attenzione il tuo post, mi pare di capire che hai usato due differenti file di registro, $Lib$\User.reg e $Temp$\Temp.reg per scrivere sulla stessa chiave! E' chiaro che il secondo che viene lanciato annulla le modifiche fatte dal primo

Inoltre, la cartella $Temp$ risiede sull'harddisk locale, quindi non è certamente indicata per portarsi dietro le impostazioni.

"Costa28" ha scritto ...
Con il tuo script, fra l'altro, non carichi le impostazioni User.reg che sono quelle di default dell'utente.

Qui non capisco bene cosa intendi: le impostrazioni di default vengono caricate solo al primo avvio, poi vengono salvate le modifiche effettuate dall'utente.
Oppure vuoi semplicemente che il programma carichi le impostazioni predefinite all'avvio senza salvare le modifiche? Allora avrebbe senso usare la cartella $Temp$.
Torna ad inizio pagina
Costa28
lun 23 apr 2007 - 21:32
online
Utente registrato #56
Registrato il: dom 21 gen 2007 - 10:18
Messaggi: 64
Ecco ... ora ci siamo quasi ...

Costa28 ha scritto ...


Nonostante sia un programma praticamente standalone, scrive nel registro di windows solo 3 chiavi:
- la lingua;
- la cartella di destinazione dei files recuperati;
- un flag

Queste chiavi vengono importate nel sistema con il runbefore:

User.reg
REGEDIT4

[HKEY_CURRENT_USER\Software\FDRLab]

[HKEY_CURRENT_USER\Software\FDRLab\Undelete Plus]
"language"="60000"
"path"="C:\\Documents and Settings\\User\\Desktop"
"kfs"="1"




Quindi a questo punto, al lancio del programma
- imposto la lingua in italiano;
- imposto il percorso = all'ultimo utilizzato
- imposto il flag kfs a 1

grazie a:
Costa28 ha scritto ...

[RunBefore]
RegEdit=$Lib$\User.reg


Il tutto funzia.

Ora voglio gestire in maniera autonoma la chiave "path"

Sopra ti ho spiegato la "necessità" di cambiare la chiave path con il desktop del Current user.

Ed è vero che le due chiavi in sequenza puntano alla stessa chiave però la prima (User.reg)
"language"="60000"
"path"="C:\\Documents and Settings\\User\\Desktop"
"kfs"="1"

la seconda
scrive solamente la chiave
path

quindi pensavo che le altre rimanessero.

Ma bando alle ciance ...
come risolveresti tu il problema?

Grazie


Torna ad inizio pagina

Vai a pagina       >>  
Moderatori: Danix, Taf, Rcs, Energy, zandet2, ZioZione, Admin, LordJim60

Salta:     Torna ad inizio pagina

RSS discussione: rss 0.92 RSS discussione: rss 2.0 RSS discussione: RDF
Powered by e107 Forum System