Accesso Al Percorso c:\Program Files (x86)\... NEGATO

venerdì 09 novembre 2012 - 12.04
Tag Elenco Tags  VB.NET  |  Windows 7  |  Windows Vista  |  Visual Studio 2010  |  Access (.mdb)

giucorn Profilo | Junior Member

Ho creato un programma exe in visual studio 2010 dove realizza delle operazioni ad un database access ed ad un file xls nella stessa cartella del eseguibile.

Appena clicco sul file dove si effetta modifiche al DB(Inserimento Nuovi Record) mi da come errore:

"Accesso Al Percorso c:\Program Files (x86)\... NEGATO"

Ho creato un pacchetto di istallazione che inserisce la cartella del programma, con il relativo DB Access e file xls nella cartella Program Files (x86) e come come "Menu Programmi dell'Utente" ho creato un Collegamento al Programma Stesso.

Ho notato che se vado nella cartella Programmi e apro il .exe come Amministratore funziona tutto, ma non tutti sono in grado di trovare la cartella programmi, invece se clicco dal menu Programmi non mi da la possibilità di aprirlo come amministratore, manca la voce.

Come posso aprire il mio exe anche dal Menu programma della barra?

DomA Profilo | Expert

Ciao,

"Accesso Al Percorso c:\Program Files (x86)\... NEGATO"

>>La cartella programmi è protetta per questo motivo ti dà il suddetto errore (solo l'utente amministratore ha i permessi di scrittura).

Per risolvere il problema hai 2 alternative :

>>1) cambiare la cartella di destinazione nel pacchetto di installazione (ad esempio "C:\tuo_programma\"). Questa è la soluzione migliore.

2) anndare in c:\Program Files (x86)\... e cliccare col tasto dx del mouse sulla cartella del programma. Dal menù selezionare proprietà e quindi dare l'autorizzazione agli utenti. Ecco 2 img che "spiegano" come fare:


378x504 61Kb


375x453 43Kb


Io ti sconsiglio questa seconda strada perché, oltre ad essere più lunga e faticosa, dovresti ripetere la procedura ogni volta che installi il programma su un diverso pc.

Se hai problemi rimaniamo a tua disposizione



Ricorda che, accettare la risposta è un modo di ringraziare chi ci ha aiutato ed evidenziare che il problema è stato risolto.

http://www.infomidia.it

Domenico

ridaria Profilo | Expert



già passato anche da questo problema.

non installare in program files (x86), installa direttamente su "c:\cartella" e vedrai che non avrai questo problema

CIAO
Riccardo D'Aria

u235 Profilo | Junior Member

Ciao,
di norma i dati che potrebbero essere condivisi tra diversi utenti (amministratori e non) dovrebbero stare nella cartella apposita, ovvero la cartella programData o simile... quindi è sempre bene utilizzare la classe statica Environment e il metodo GetFolderPath passando Environment.SpecialFolder.ApplicationData per trovare il percorso di tale cartella, in questo modo il db potrà essere condiviso tra tutti gli utenti del programma, il programma sta nella cartella in cui è giusto che stia (program files) e non avrai mai problemi di "tratuzione" dei nomi delle cartelle (programmi in IT e program files in EN per esempio). Quindi nella tua installazione ti conviene innazitutto scegliere la cartella program data come cartella di base per il tuo DB, e lasciare il programma nella cartella programmi. quando devi accere alla cartella dei dati condivisi usi :

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData));
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5