PDA

View Full Version : Problema "applicazione già avviata" programma in rete


mtguido
29-03-2013, 14:59
Buonasera, ho un problema con un programma per la creazione di contratti di locazione. Il programma è installato su un computer con windows 7 ed è collegato in LAN con un computer con windows 8.
Il problema è che se avvio il programma su windows 7, dove è residente l'installazione, si crea nella cartella di installazione uno strano file lock e dopo la creazione di questo file se provo ad avviare dal pc con windows 8 mi da errore "applicazione già avviata" anche se in realtà su windows 7 il programma è stato chiuso.
Se elimino il file lock da windows 7 allora riesco poi ad aprirlo da windows 8. Il problema è però che ad ogni apertura da windows 7 il file si ricrea e devo ogni volta eliminarlo.

Come posso risolvere?

GRAZIE

Khronos
29-03-2013, 15:30
è proprietario, quel programma? o ha un nome famoso?.

potresti risolvere con un batch, che lancia il tuo programma, e alla chiusura, cancella il file.

non si può usare il comando "start" nel batch in quanto farebbe tutte le due cose in sequenza senza aspettare la chiusura del primo.
indi, vecchia maniera.


blocco note.

"C:\percorso\indirizzo\programma\programma.exe"
del "X:\percorso\indirizzo\file\lock.qualcosa"

salva questo come quellochetipare.bat

assicurati che sia .bat, e non ".bat.txt", devi andare nelle opzioni di visualizzazione delle risorse del computer (menù strumenti). e togliere la spunta a "nascondi le estensioni per i tipi di file conosciuti".

da quel momento, aprirai il tuo programma (su Seven) usando quel batch.

mtguido
29-03-2013, 15:40
E se invece quel file lock si creasse alla chiusura del programma?

Non ho il computer a portata di mano adesso quindi non posso controllare e non ricordo il nome esatto del programma, ad ogni modo è tipo "Contratti di Locazione".

EDIT: oppure il file bat me lo vuoi far creare su windows 8? In questo caso non penso funzionerebbe perchè da windows 8 non mi fa eliminare il file lock, posso farlo solo da 7 dove è residente.

Khronos
29-03-2013, 15:49
non ha senso. quel file "lock" è generato dal programma stesso per impedire l'uso "concorrente" delle sue risorse da altri pc in rete. difatti l'eseguibile ti risponde (e non il sistema operativo) con un messaggio apposito e preconfezionato, "applicazione già avviata".
sbaglia però il programma a "non cancellarlo" alla fine della sua sessione. O non ci riesce, per i motivi di cui sotto.

domanda: da quando ce l'hai quel software? dove lo hai installato e dove genera quel file lock?
io avrei installato il software FUORI da C:\programmi, se genera il file lock in "programmi" può darsi che non abbia poi i privilegi per cancellarlo autonomamente e lo lasci li.

mtguido
29-03-2013, 15:51
Viene usato da parecchio, non proprio da me. Comunque è installato su C se non sbaglio, o forse in Documenti.

Khronos
29-03-2013, 16:12
appena hai le info giuste e precise, scrivile.

x_Master_x
29-03-2013, 16:36
appena hai le info giuste e precise, scrivile.


ATTENZIONE !
Quando l’applicazione viene avviata dall’utente, viene creato nella cartella \prog della directory di installazione di Entratel un file “LOCK” che viene utilizzato dall’applicazione per evitare l’accesso da parte di altre applicazioni ai file dell’utente.
Il file viene cancellato quando Entratel viene chiusa correttamente con le modalità descritte in questo paragrafo:

L'applicazione Entratel può essere chiusa dall'utente mediante 2 diverse modalità:
Operazioni --> Esci
oppure, in alternativa, cliccando sul simbolo presente nella pagina in alto a destra

Se l’applicazione termina in modo anomalo (ad esempio, si spegne il PC mentre Entratel è avviata), il file “LOCK” rimane nella cartella \prog : per poter eseguire nuovamente l’applicazione, è necessario rimuovere manualmente il file utilizzando le funzioni disponibili all’interno del sistema operativo che si utilizza.

I casi sono 2:
1) Il programma non funziona come descritto, quindi dovrà essere reinstallato
2) mtguido non lo chiude correttamente e quindi il file lock rimane come è stato pensato dall'autore ( Se l’applicazione termina in modo anomalo etc. )

In alternativa si può cancellare tramite batch come gli hai suggerito nel percorso di rete di Windows 7, deve dargli i permessi sul file nel caso di errore

mtguido
31-03-2013, 17:40
Provo a chiuderlo in quel modo allora. Vi faccio sapere!

mtguido
02-04-2013, 23:19
Dunque il programma si chiama esattamente "contratti di locazione 9.4.4" ed è del l'agenzia delle entrate. Ho provato a chiuderlo facendo file-esci e torna alla schermata di avvio. Se clicco anche li esci il file lock comunque non viene eliminato.
Per adesso ho risolvo creando il file bat sul computer satellite ma è abbastanza scomodo. Inoltre ad ogni avvio dal pc satellite mi si apre oltre che al programma una finestra di DOS. Si può evitare?

Khronos
03-04-2013, 00:33
eh.
quello che ti ho fornito è, in gergo, "un workaround", un girarci intorno al problema.

il batch parte (e viene eseguito nella finestra dos, che non puoi chiudere, altrimenti lo interrompi), ti avvia il programma, e alla chiusura dello stesso, cancella il file lock.


l'unico altro modo che mi viene in mente come tentativo, te l'avevo già detto:

io avrei installato il software FUORI da C:\programmi

ad esempio, in C:\blaCiaoPippo .

non hai ancora specificato la sua esatta posizione attuale.

se niente di ciò ti dà esito positivo, e ti dà fastidio la finestra dos del Batch, si potrebbe fare uno script eseguibile compilato .exe in qualsiasi altro linguaggio di programmazione.
io però so solo Java e non ti so aiutare, non so come si programmi in vbscript ad esempio.

aspetta, però. AutoIt potrebbe fare al caso tuo ed essere veloce da attuare. basta che mi dici ESATTAMENTE nome e indirizzo dell'eseguibile, e del file lock. se autoit ha comandi per avviare e manipolare files, dovremmo essere a cavallo...

l'ultima possibilità è che chiami la ditta fornitrice del software e te la vedi con loro.

x_Master_x
03-04-2013, 09:50
Script in VBS ( il file avrà estensione .vbs invece che .bat ), nessuna finestra ma un avvio silenzioso

Devi solo cambiare le path

Option Explicit
Dim LOCK
Dim ObjShell
Set ObjShell = WScript.CreateObject( "WScript.Shell" )
Set LOCK = CreateObject("Scripting.FileSystemObject")

If (LOCK.FileExists("C:\Documents and Settings\NOME\Desktop\Test.txt")) Then
LOCK.DeleteFile("C:\Documents and Settings\NOME\Desktop\Test.txt")
objShell.Run("""C:\Windows\Notepad.exe""")
Else
objShell.Run("""C:\Windows\Notepad.exe""")
End If


Segui il consiglio di Khronos, il file non viene cancellato perchè probabilmente non ha i diritti in quella cartella. Se non risolvi usa lo script che ti ho postato.

Il Bruco
03-04-2013, 11:06
Scusate l'intromissione, ma non è più facile far cancellare il file a W8 con un Batch di avvio del Programma

Connette un'unità di rete da W8 verso la cartella che contiene il nome_file.txt (es: Z:\)
con tutti i diritti di accesso all'utente everyone

Connette un'unità di rete da W8 verso la cartella che contiene il programma (es: X:\) con tutti i diritti di accesso all'utente everyone

File Batch su W8 per avvio programma

Del "Z:\nome_file.txt"
X:\Programma.exe"

x_Master_x
03-04-2013, 11:12
Nessun disturbo, ci mancherebbe ;)
Dipende da come si trova meglio, da una parte deve aprire con il batch o lo script vbs, dall'altra con il solo programma
Gliel'ho suggerito anche io:

In alternativa si può cancellare tramite batch come gli hai suggerito nel percorso di rete di Windows 7, deve dargli i permessi sul file nel caso di errore

mtguido
03-04-2013, 12:23
Ok quindi l'alternativa è il vbs che mi evita l'apertura della finestra DOS. Proverò...

Un piccolo OT.
Sul pc satellite con Windows 8 ho una cartella condivisa. Mi capita ogni tanto che non si apra, cioè come se non la trovasse sull'altro pc. Se poi però la apro da Windows 7 allora anche Windows 8. Si sveglia. Come mai?

Inoltre cosa più fastidiosa nella stessa cartella se apro un documento word ad esempio, lo modifico e provo a sovrascriverlo non me lo fa salvare e me lo fa salvare solo in locale su documenti dicendomi che non ho i permessi. Eppure da Windows 7 c'è la condivisione con everyone con lettura/scrittura spuntato!

Il Bruco
03-04-2013, 13:21
La cartella "documenti" per Windows è una cartella Proprietaria per cui devi anche attivare Everyone, controllo completo, dalle opzioni sicurezza della cartella oltre che da condivisione avanzata.

mtguido
03-04-2013, 13:33
La cartella "documenti" per Windows è una cartella Proprietaria per cui devi anche attivare Everyone, controllo completo, dalle opzioni sicurezza della cartella oltre che da condivisione avanzata.

Opzioni sicurezza dove starebbe?

mtguido
16-04-2013, 19:29
L'ho attivato anche da opzioni sicurezza ma il problema persiste!

Il Bruco
16-04-2013, 20:41
Hai errato qualcosa nella configurazione della condivisione

Sul PC con W7

Tasto dx del mouse su di un punto vuoto del DeskTop
Click su "Personalizza"
Click su "Cambia icone sul desktop"
Spunta "Rete"
Click su "Applica"
Click su "OK"
Tasto dx del mouse sull'icona "Rete" sul DeskTop
Click su "Proprietà"
Click su "Modifica impostazioni di condivisione avanzate"
Cosa deve essere spuntato:
Attiva individuazione rete
Attiva condivisione file e stampanti
Attiva la condivisione delle cartelle pubbliche
Abilita condivisione file a 40 o 56 bit
Disattiva condivisione protetta da password
Click su "Salva cambiamenti"
Riavvia il PC
ORB=Start
Click su "Computer"
Click su C:\
Doppio click su "Utenti"
Doppio click su l'Utente loggato
Tasto dx del mouse sulla cartella "Documenti"
Condividi con... e click su "Utenti specifici"
Dal Menù a tendina di "Aggiungi" scegli "Everyone"
Aggiungi
Dal Menù a tendina di "Lettura" scegli "Lettura/Scrittura"
Condividi
Operazione completata

Sul PC con W8
Tasti Windows + X
Esplora file
Doppio click su Rete sulla sx
Doppio click sul PC con la cartella "Documenti" condivisa
Doppio click su "Users"
Doppio click su l'utente loggato su W7
Tasto dx del mouse sulla cartella "Documenti"
Crea collegamento
Rispondi "Sì" alla richiesta di creare il collegamnento sul Desktop
Chiudi tutto
Click sulla mattonella Desktop
Ora puoi lavorare con i file contenuti nella cartella "Documenti - Collegamento"

mtguido
18-04-2013, 18:04
Ok ho fatto come nella guida e non funzionava comunque poi ho capito dov'era il problema. Dal pc con Windows 8 sono andati su rete/nome pc di Windows 7 e c'era la cartella condivisa. Io invece prima entravo nell'utente e poi entravo in c e mi andavo a prendere la cartella.

Risolto questa non riesco a risolvere il problema della stampa. Ho avviato il programma creando il file bat che elimina il file lock ad ogni apertura. Ora però se clicco stampa non stampa. Sul pc con Windows 7 quando si clicca stampa si avvia. Acrobat reader mentre qui no. Ho provato a condividere la cartella del reader, riesco anche ad avviare il reader da Windows 8 ma se clicco stampa il programma non lo apre. Si crea un file nella stessa cartella del programma che si chiama temp.pdf che contiene quello che devo stampare e se lo apro manualmente risolvo. Il fatto è che sull'altro pc si avvia automaticamente al click "stampa" mentre su Windows 8 no!

Grazie

Khronos
18-04-2013, 19:22
... devi installare acrobat reader anche su windows 8. questa cosa non può funzionare "in remoto". il programma, una volta creato il "temp.pdf" ti cerca il lettore di pdf nel sistema.

mtguido
18-04-2013, 20:13
L'ho già installato, acrobat XI, mentre sul pc con Windows 7 c'è acrobat X. Comunque non funziona...