Main menu

Search
Login
Signup
Links
<< Previous thread | Next thread >>   
Undelete Plus (era: [RunBefore])

Go to page       >>  
Author Post
Costa28
Wed 18 Apr 2007 - 14:22
online
Registered Member #56
Joined: Sun 21 Jan 2007 - 10:18
Posts: 64

Ho notato che se uso la forma veloce:

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

viene inserito solo Temp.reg

Dove sbaglio?

[ Edited Sun 22 Apr 2007 - 15:43 ]
Back to top
simongr
Wed 18 Apr 2007 - 15:21

online
Registered Member #23
Joined: Sat 20 Jan 2007 - 23:54
Posts: 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!
Back to top
Costa28
Thu 19 Apr 2007 - 11:01
online
Registered Member #56
Joined: Sun 21 Jan 2007 - 10:18
Posts: 64
Mah !
La domanda mi pareva molto semplice
Costa28 wrote ...

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
Back to top
Costa28
Thu 19 Apr 2007 - 11:43
online
Registered Member #56
Joined: Sun 21 Jan 2007 - 10:18
Posts: 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?

[ Edited Fri 20 Apr 2007 - 08:32 ]
Back to top
simongr
Thu 19 Apr 2007 - 15:11

online
Registered Member #23
Joined: Sat 20 Jan 2007 - 23:54
Posts: 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
Back to top
Costa28
Thu 19 Apr 2007 - 19:26
online
Registered Member #56
Joined: Sun 21 Jan 2007 - 10:18
Posts: 64
simongr wrote ...

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 wrote ...

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
Back to top
tittoproject
Sun 22 Apr 2007 - 15:40

online
Registered Member #821
Joined: Wed 24 Jan 2007 - 17:22
Posts: 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
Back to top
Costa28
Mon 23 Apr 2007 - 09:53
online
Registered Member #56
Joined: Sun 21 Jan 2007 - 10:18
Posts: 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
Back to top
tittoproject
Mon 23 Apr 2007 - 14:43

online
Registered Member #821
Joined: Wed 24 Jan 2007 - 17:22
Posts: 592
Costa28 wrote ...

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" wrote ...
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$.
Back to top
Costa28
Mon 23 Apr 2007 - 21:32
online
Registered Member #56
Joined: Sun 21 Jan 2007 - 10:18
Posts: 64
Ecco ... ora ci siamo quasi ...

Costa28 wrote ...


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 wrote ...

[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


Back to top

Go to page       >>  
Moderators: Danix, Taf, Rcs, Energy, zandet2, ZioZione, Admin, LordJim60

Jump:     Back to top

Syndicate this thread: rss 0.92 Syndicate this thread: rss 2.0 Syndicate this thread: RDF
Powered by e107 Forum System