Menù Principale

Cerca
Login
Registrati
Link
<< Discussione precedente | Discussione successiva >>   
?-OpenContacts ... come passare (correttamente) parametri all'exe?

Vai a pagina       >>  
Autore Messaggio
nicSCO
ven 24 ago 2007 - 12:41
online
Utente registrato #5826
Registrato il: ven 24 ago 2007 - 12:33
Messaggi: 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?




[ Modificato ven 24 ago 2007 - 13:01 ]
Torna ad inizio pagina
Danix
ven 24 ago 2007 - 14:37

online

Utente registrato #1
Registrato il: ven 29 dic 2006 - 05:38
Provenienza: Sassari
Messaggi: 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



[ Modificato ven 24 ago 2007 - 15:43 ]
Torna ad inizio pagina
Sito Web
nicSCO
ven 24 ago 2007 - 16:58
online
Utente registrato #5826
Registrato il: ven 24 ago 2007 - 12:33
Messaggi: 13
Danix ha scritto ...

Benvenuto su winPenPack, nicSCO

grazie

Danix ha scritto ...

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.



[ Modificato ven 24 ago 2007 - 17:01 ]
Torna ad inizio pagina
nicSCO
ven 24 ago 2007 - 17:22
online
Utente registrato #5826
Registrato il: ven 24 ago 2007 - 12:33
Messaggi: 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)

[ Modificato ven 24 ago 2007 - 17:25 ]
Torna ad inizio pagina
Danix
ven 24 ago 2007 - 18:07

online

Utente registrato #1
Registrato il: ven 29 dic 2006 - 05:38
Provenienza: Sassari
Messaggi: 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


[ Modificato ven 24 ago 2007 - 18:11 ]
Torna ad inizio pagina
Sito Web
nicSCO
ven 24 ago 2007 - 18:54
online
Utente registrato #5826
Registrato il: ven 24 ago 2007 - 12:33
Messaggi: 13
Danix ha scritto ...

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?

[ Modificato ven 24 ago 2007 - 18:57 ]
Torna ad inizio pagina
Danix
ven 24 ago 2007 - 19:37

online

Utente registrato #1
Registrato il: ven 29 dic 2006 - 05:38
Provenienza: Sassari
Messaggi: 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?
Torna ad inizio pagina
Sito Web
nicSCO
ven 24 ago 2007 - 21:36
online
Utente registrato #5826
Registrato il: ven 24 ago 2007 - 12:33
Messaggi: 13
Danix ha scritto ...

Bastano 10 backup?


è una battuta mal riuscita?


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


?

[ Modificato ven 24 ago 2007 - 21:48 ]
Torna ad inizio pagina
Danix
ven 24 ago 2007 - 22:58

online

Utente registrato #1
Registrato il: ven 29 dic 2006 - 05:38
Provenienza: Sassari
Messaggi: 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


[ Modificato ven 24 ago 2007 - 23:07 ]
Torna ad inizio pagina
Sito Web
Bourne
ven 24 ago 2007 - 23:17

online
Utente registrato #4287
Registrato il: ven 20 apr 2007 - 16:55
Messaggi: 571
nicSCO ha scritto ...

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