Main menu

Search
Login
Signup
Links
<< Previous thread | Next thread >>   
?-OpenContacts ... come passare (correttamente) parametri all'exe?

Go to page       >>  
Author Post
nicSCO
Fri 24 Aug 2007 - 12:41
online
Registered Member #5826
Joined: Fri 24 Aug 2007 - 12:33
Posts: 13

ciao a tutti,

sto provando a scrivere un launcher per OpenContact, per renderlo pienamente "portatile"... in realtà già esiste (Portable OpenContacts, -Link- ) ma non segue gli stessi path degli X-Launchers per le directory, e volevo unificare il tutto.

farlo dovrebbe essere molto semplice, visto che si tratta di avviare il programma con il parametro changedir (come spiegato qui: -Link- ), tuttavia ho problemi a creare il mio pur semplice .ini:


quello che ho fatto è questo:

;=================================================
; ** X-Launcher's configuration file **
; Ini file written by nicsco (nicsco.mail@gmail.com)
;=================================================

[Setup]
AppName=OpenContacts

[FileToRun]
PathToExe=$Bin$\$AppName$\$AppName$.exe
Parameters=changedir %PATH_HOME%

[Environment]
PATH_HOME=$Home$\$AppName$|"

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




il launcher tuttavia non funziona, e dal log leggo:
StringToExe="C:\Z-OpenContacts\Bin\OpenContacts\OpenContacts.exe" "changedir "C:\Z-OpenContacts\User\OpenContacts""


mentre dovrebbe essere:
StringToExe="C:\Z-OpenContacts\Bin\OpenContacts\OpenContacts.exe" changedir "C:\Z-OpenContacts\User\OpenContacts"



il problema *sembra* essere nell'x-launcher, che *sembra* non interpretare il parametro "Parameters=NOME_PARAMETRO" mentre leggerebbe correttamente "Parameters=-NOME_PARAMETRO"


...

*sembra*, magari sono io che non ho capito un tubo.

suggerimenti?




[ Edited Fri 24 Aug 2007 - 13:01 ]
Back to top
Danix
Fri 24 Aug 2007 - 14:37

online

Registered Member #1
Joined: Fri 29 Dec 2006 - 05:38
Location: Sassari
Posts: 12956
Benvenuto su winPenPack, nicSCO
WorkingDir la puoi definire direttamente.
Inoltre il programma scrive il path nel registro.


 
; ----------------------------------------------------------------
; winPenPack project - X-Software collection
; Copyright © 2005-2007 winPenPack.com - All rights reserved  
; ----------------------------------------------------------------
; X-Launcher developed by tittoproject (tittoproject@gmail.com)
; Ini file [rev1] - Author: Danix - Date: 24.08.2007
; ----------------------------------------------------------------

[Setup]
AppName=OpenContacts

[FileToRun]
PathToExe=$Bin$\$AppName$\$AppName$.exe
WorkingDir=%PATH_HOME%

[Environment]
PATH_HOME=$Home$\$AppName$\Dataset

[WriteToReg=$Home$\$AppName$\$AppName$.reg]
MainKey=HKEY_CURRENT_USER\Software\Open Contacts
"WorkingDir"=%PATH_HOME%|\\"

[RunBefore]
RegEdit=$Home$\$AppName$\$AppName$.reg

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



[ Edited Fri 24 Aug 2007 - 15:43 ]
Back to top
Website
nicSCO
Fri 24 Aug 2007 - 16:58
online
Registered Member #5826
Joined: Fri 24 Aug 2007 - 12:33
Posts: 13
Danix wrote ...

Benvenuto su winPenPack, nicSCO

grazie

Danix wrote ...

WorkingDir la puoi definire direttamente.
Inoltre il programma scrive il path nel registro.


mmh... mi ero perso WorkingDir, ora lo provo. Però quello che dici non è corretto del registro non è del tutto corretto... il programma scrive sul registro a meno che non ci sia la stringa
DisableCOM=1
nel file main.ini di OpenContacts. O almeno, questo è quello che dicono qui: http://www.fonlow.com/OpenContacts/Manual/Install.htm
With option DisableCOM on, Open Contacts will not write permanent data to Windows Registry.



[ Edited Fri 24 Aug 2007 - 17:01 ]
Back to top
nicSCO
Fri 24 Aug 2007 - 17:22
online
Registered Member #5826
Joined: Fri 24 Aug 2007 - 12:33
Posts: 13
ho modificato lo script, apparentemente ora funziona *senza* scrivere sul registro... qualcuno lo può testare?

bisogna:
  1. scaricare "opencontacts portable" -Link-
  2. estrarre in una sottodirectory
  3. rinominare le cartelle "APP\PROGRAM" in "BIN\OPENCONTACTS" (non sono obbligatorie le maiuscole )
  4. rinominare la cartelle "DATA" in "USER\OPENCONTACTS"
  5. aggiungere la stringa "DisableCOM=1" al file "USER\OPENCONTACTS\MAIN.INI"
  6. usare un x-launcher con il file .ini che trovate sotto



x-launcher.ini
;=================================================
; ** X-Launcher's configuration file **
; Ini file written by nicsco (nicsco.mail@gmail.com)
;=================================================

[Setup]
AppName=OpenContacts

[FileToRun]
PathToExe=$Bin$\$AppName$\$AppName$.exe
WorkingDir="$Home$\$AppName$"

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



... ovviamente non funzionerà, ma per essere un primo tentativo... e se poi funziona, passo alla fase 2: fare in modo che all'avvio il launcher faccia automaticamente un backup della rubrica, che è sempre utile (lo so che non ci vuole niente a farlo, ma datemi il tempo di leggere le guide)

[ Edited Fri 24 Aug 2007 - 17:25 ]
Back to top
Danix
Fri 24 Aug 2007 - 18:07

online

Registered Member #1
Joined: Fri 29 Dec 2006 - 05:38
Location: Sassari
Posts: 12956
Non vedo per quale assurda ragione devo partire da una versione portable quando esiste il setup originale.
  1. Quindi parto da quello
  2. Lo estraggo con UE
  3. Utilizzo le cartelle "app" (contenuto da inserire in $Bin$\OpenContacts ) e code_GetDataFolder (contenuto da inserire in User\OpenContacts )
  4. Faccio scrivere l'impostazione nell'INI direttamente a X-Launcher (per evitare la scrittura nel registro)
  5. Aggiungo la funzione di backup con l'opzione "restore" che permette ai db si essere ripristinati qualora accidentalmente spariscano da WorkingDir (ma solo se non sono già presenti).

; -------------------------------------------------------------------------
; winPenPack project - X-Software collection
; Copyright © 2005-2007 winPenPack.com - All rights reserved  
; -------------------------------------------------------------------------
; X-Launcher developed by tittoproject (tittoproject@gmail.com)
; Ini file [rev2] - Author: Danix (winpenpack@gmail.com) - Date: 24.08.2007
; -------------------------------------------------------------------------

[Setup]
AppName=OpenContacts

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

[Functions]
FileCopy=$Backup$\$AppName$\*.GDB|$Home$\$AppName$\Data\

[WriteToIni=$Home$\$AppName$\main.ini]
General|DisableCOM=1

[RunAfter]
FileCopy=$Home$\$AppName$\Data\*.GDB|$Backup$\$AppName$\|o

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


[ Edited Fri 24 Aug 2007 - 18:11 ]
Back to top
Website
nicSCO
Fri 24 Aug 2007 - 18:54
online
Registered Member #5826
Joined: Fri 24 Aug 2007 - 12:33
Posts: 13
Danix wrote ...

Non vedo per quale assurda ragione devo partire da una versione portable quando esiste il setup originale.
  1. Quindi parto da quello
  2. Lo estraggo con UE

ciao Danix, l'assurda ragione è che eviti di usare universal extractor

invece non mi piace la funzione di backup come l'hai impostata: il backup serve per recuperare i dati nei casi in cui: (1) il file originale è rovinato/perso (2) faccio un casino col programma e per errore lo chiudo.
Il tuo sistema copre solo il punto 1, e solo se il file è sparito.


A questo punto, non essendo una gran mole di dati, sarebbe meglio effettuare un backup a 2 livelli... e tutto questo con una piccolissima modifica del .ini, l'x-launcher è veramente potente!!
(nb: nell'ini file mi sono permesso di riaggiungere il mio nome )


; -------------------------------------------------------------------------
; winPenPack project - X-Software collection
; Copyright © 2005-2007 winPenPack.com - All rights reserved  
; -------------------------------------------------------------------------
; X-Launcher developed by tittoproject (tittoproject@gmail.com)
; Ini file [rev2] - Author: Danix (winpenpack@gmail.com) - Date: 24.08.2007
; [rev3 by nicSCO]
; -------------------------------------------------------------------------

[Setup]
AppName=OpenContacts

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

[Functions]
DirRemove=$Backup$\$AppName$\PREVIOUS_LAST\
FileMove=$Home$\$AppName$\Data\*.GDB|$Backup$\$AppName$\PREVIOUS_LAST\
FileMove=$Backup$\$AppName$\LAST\*.GDB|$Home$\$AppName$\Data\

[WriteToIni=$Home$\$AppName$\main.ini]
General|DisableCOM=1

[RunAfter]
FileCopy=$Home$\$AppName$\Data\*.GDB|$Backup$\$AppName$\LAST\|o

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



in pratica il backup funziona così:
  1. all'avvio del programma il "vecchio" database viene spostato (non copiato, così la scrittura è minima sull'eventuale chiavetta usb) nella cartella "previous_last"
  2. l'ultimo backup del database (cartella "last") viene messo al posto giusto
  3. alla chiusura del programma: il database viene copiato (questa volta è necessario) nella cartella "last"

il comando "DirRemove" presente nell'.ini è necessario per limitare le scritture/cancellature/sovrascritture sul filesystem, qualunque esso sia.


che ne pensi?

[ Edited Fri 24 Aug 2007 - 18:57 ]
Back to top
Danix
Fri 24 Aug 2007 - 19:37

online

Registered Member #1
Joined: Fri 29 Dec 2006 - 05:38
Location: Sassari
Posts: 12956
ciao Danix, l'assurda ragione è che eviti di usare universal extractor
Mah, sarà...vuol dire che d'ora in poi andremo a recuperare le versioni di portableapps per creare i nostri programmi..

Inoltre, non capisco tutti questi giri. Boh...
Se proprio vuoi esser sicuro di non perdere i database, al limite:

; -------------------------------------------------------------------------
; winPenPack project - X-Software collection
; Copyright © 2005-2007 winPenPack.com - All rights reserved  
; -------------------------------------------------------------------------
; X-Launcher developed by tittoproject (tittoproject@gmail.com)
; Ini file [rev3] - Author: Danix (winpenpack@gmail.com) - Date: 24.08.2007
; -------------------------------------------------------------------------

[Setup]
AppName=OpenContacts

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

[Functions]
FileCopy=$Backup$\$AppName$_1\*.GDB|$Home$\$AppName$\Data\|o

[WriteToIni=$Home$\$AppName$\main.ini]
General|DisableCOM=1

[RunAfter]
DirMove=$Backup$\$AppName$_9|$Backup$\$AppName$_10|o
DirMove=$Backup$\$AppName$_8|$Backup$\$AppName$_9|o
DirMove=$Backup$\$AppName$_7|$Backup$\$AppName$_8|o
DirMove=$Backup$\$AppName$_6|$Backup$\$AppName$_7|o
DirMove=$Backup$\$AppName$_5|$Backup$\$AppName$_6|o
DirMove=$Backup$\$AppName$_4|$Backup$\$AppName$_5|o
DirMove=$Backup$\$AppName$_3|$Backup$\$AppName$_4|o
DirMove=$Backup$\$AppName$_2|$Backup$\$AppName$_3|o
DirMove=$Backup$\$AppName$_1|$Backup$\$AppName$_2|o
DirCopy=$Home$\$AppName$\Data|$Backup$\$AppName$_1|o

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


Bastano 10 backup?
Back to top
Website
nicSCO
Fri 24 Aug 2007 - 21:36
online
Registered Member #5826
Joined: Fri 24 Aug 2007 - 12:33
Posts: 13
Danix wrote ...

Bastano 10 backup?


è una battuta mal riuscita?


edit:
Danix wrote ...
; Ini file [rev3] - Author: Danix (winpenpack@gmail.com) - Date: 24.08.2007


?

[ Edited Fri 24 Aug 2007 - 21:48 ]
Back to top
Danix
Fri 24 Aug 2007 - 22:58

online

Registered Member #1
Joined: Fri 29 Dec 2006 - 05:38
Location: Sassari
Posts: 12956
è una battuta mal riuscita?
No, non è una battuta, è vero.
Come ho fatto con FileZilla ( -Link- ) è un buon modo per limitare i danni derivanti dai crash.

edit:

?

Ritieni che il tuo nome debba apparire nell'INI?
Ok.

; ---------------------------------------------------------------------------
; winPenPack project - X-Software collection
; Copyright © 2005-2007 winPenPack.com - All rights reserved  
; ---------------------------------------------------------------------------
; X-Launcher developed by tittoproject (tittoproject@gmail.com)
; Ini file [rev3] - Author: nicSCO (nicsco.mail@gmail.com) - Date: 24.08.2007
; Ini file [rev4] - Author: Danix (winpenpack@gmail.com) - Date: 24.08.2007
; ---------------------------------------------------------------------------

[Setup]
AppName=OpenContacts

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

[Functions]
FileCopy=$Backup$\$AppName$_1\*.GDB|$Home$\$AppName$\Data\|o

[WriteToIni=$Home$\$AppName$\main.ini]
General|DisableCOM=1

[RunAfter]
DirMove=$Backup$\$AppName$_9|$Backup$\$AppName$_10|o
DirMove=$Backup$\$AppName$_8|$Backup$\$AppName$_9|o
DirMove=$Backup$\$AppName$_7|$Backup$\$AppName$_8|o
DirMove=$Backup$\$AppName$_6|$Backup$\$AppName$_7|o
DirMove=$Backup$\$AppName$_5|$Backup$\$AppName$_6|o
DirMove=$Backup$\$AppName$_4|$Backup$\$AppName$_5|o
DirMove=$Backup$\$AppName$_3|$Backup$\$AppName$_4|o
DirMove=$Backup$\$AppName$_2|$Backup$\$AppName$_3|o
DirMove=$Backup$\$AppName$_1|$Backup$\$AppName$_2|o
DirCopy=$Home$\$AppName$\Data|$Backup$\$AppName$_1|o

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


[ Edited Fri 24 Aug 2007 - 23:07 ]
Back to top
Website
Bourne
Fri 24 Aug 2007 - 23:17

online
Registered Member #4287
Joined: Fri 20 Apr 2007 - 16:55
Posts: 571
nicSCO wrote ...

With option DisableCOM on, Open Contacts will not write permanent data to Windows Registry.



Ciao, scusa non ho capito una cosa. Visto che il programma è già nativamente totalmente portabile, come mai lo vuoi usare con l'x-launcher? Da quello che hai detto in precedenza, mi pare di capire che il motivo sia perché vuoi che sia uniformato nei path al modus operandi degli altri X-Program che usi, giusto? O ci sono altri motivi che mi sfuggono?

grazie, ciao ciao
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