Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1

    [vb6] .exe esegui come amministratore

    vorrei creare un eseguibile vb6 da inserire nel pacchetto di installazione e che venga eseguito come amministratore su win vista
    perche se no l'eseguibile installato che si trova nella cartella C:/Programmi/... non puo creare file
    il problema è che non puo creare file se non viemne eseguito come amministratore su vista
    grazie per le risposte
    semplicità ... al sol nominarla sembra svanire

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758

    Re: [vb6] .exe esegui come amministratore

    Originariamente inviato da biagiopas
    ... l'eseguibile installato che si trova nella cartella C:/Programmi/... non puo creare file
    il problema è che non puo creare file se non viemne eseguito come amministratore su vista
    grazie per le risposte
    Non è così. Non può creare file nella cartella C:\Programmi, ma può - anzi dovrebbe - crearli e/o modificarli in una delle cartelle apposite, per esempio
    [d]:\Users\[utente]\AppData\Local.

    Queste sono le regole che conviene rispettare se si vuole andare d'accordo con Vista.

  3. #3

    Re: Re: [vb6] .exe esegui come amministratore

    Originariamente inviato da Grumpy
    Non è così. Non può creare file nella cartella C:\Programmi, ma può - anzi dovrebbe - crearli e/o modificarli in una delle cartelle apposite, per esempio
    [d]:\Users\[utente]\AppData\Local.
    Percorso che va recuperato tramite le apposite API o le variabili di ambiente, e non incorporato nel programma.
    Queste sono le regole che conviene rispettare se si vuole andare d'accordo con Vista.
    Veramente sono le regole per andare d'accordo con Windows fin dai tempi di NT 3.51, se poi gli sviluppatori si aspettano che i loro software vengano eseguiti sempre come amministratore sono loro in errore...
    Amaro C++, il gusto pieno dell'undefined behavior.

  4. #4
    grazie per le risposte
    utilizzero WScript.Shell per cercare una cartella speciale , per i miei scopi dovrebbe andare /program data o qualcosa di simile ... anche se vedo che queste cartelle dipendono quasi tutte dall'utente autenticato in windows
    semplicità ... al sol nominarla sembra svanire

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758

    Re: Re: Re: [vb6] .exe esegui come amministratore

    Originariamente inviato da MItaly
    Veramente sono le regole per andare d'accordo con Windows fin dai tempi di NT 3.51
    Sì è vero. Però se prima era consigliato, ora, con Vista, praticamente è diventato obbligatorio. E non è detto che piaccia a tutti; a me, per esempio, non piace per niente
    Originariamente inviato da biagiopas per i miei scopi dovrebbe andare /program data o qualcosa di simile ...
    Se il programma tenta di scrivere in una sottocartella di C:\Programmi l'operazione viene "dirottata" verso C:\Users\[utente]\AppData\VirtualStore. Purtroppo ho notato (e non ho capito bene il perché) che avviene la stessa cosa se si cerca di scrivere in ProgramData, che invece dovrebbe essere il posto giusto per i dati delle applicazioni condivise da tutti gli utenti del computer.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: Re: Re: Re: [vb6] .exe esegui come amministratore

    Originariamente inviato da Grumpy
    Sì è vero. Però se prima era consigliato, ora, con Vista, praticamente è diventato obbligatorio.
    Meno male ...

    E non è detto che piaccia a tutti; a me, per esempio, non piace per niente
    Beh, può anche essere, ma la qualità finale dei programmi migliorera' ... (parlando in generale) ...

    Sicuramente il meccanismo di Vista e' un po' contorto (e forse malfunzionante) ma e' un primo approccio per razionalizzare la gestione dei dati da parte delle applicazioni ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758

    Re: Re: Re: Re: Re: [vb6] .exe esegui come amministratore

    Originariamente inviato da oregon
    Beh, può anche essere, ma la qualità finale dei programmi migliorera' ... (parlando in generale) ...
    credo che converrai che non basta unificare le cartelle dei dati per migliorare la qualità dei programmi
    Originariamente inviato da oregon Sicuramente il meccanismo di Vista e' un po' contorto (e forse malfunzionante) ma e' un primo approccio per razionalizzare la gestione dei dati da parte delle applicazioni ...
    Sì, ma è l'imposizione che mi infastidisce

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: Re: Re: Re: Re: Re: [vb6] .exe esegui come amministratore

    Originariamente inviato da Grumpy
    credo che converrai che non basta unificare le cartelle dei dati per migliorare la qualità dei programmi
    Sì ... mi sono espresso male ... intendevo dire che i programmatori (e i loro programmi) fanno un po' come vogliono e ti ritrovi file di configurazione e di dati ovunque nel PC ...

    Un po' d'ordine insomma, non guasterebbe ...

    Sì, ma è l'imposizione che mi infastidisce
    Su questo sono d'accordo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9

    Re: Re: Re: Re: [vb6] .exe esegui come amministratore

    Originariamente inviato da Grumpy
    Sì è vero. Però se prima era consigliato, ora, con Vista, praticamente è diventato obbligatorio.
    Da sempre gli utenti limitati hanno avuto restrizioni sulle aree del sistema modificabili, ma le maglie della sicurezza hanno iniziato a stringersi molto dai tempi di Windows 2000, da lì in poi un normale user di default non ha più potuto scrivere nella cartella programmi né in HKEY_LOCAL_MACHINE.
    E non è detto che piaccia a tutti; a me, per esempio, non piace per niente
    Magari non ti piace come è catalogata una biblioteca, ma questo non ti autorizza a metterci i libri secondo la tua catalogazione, o peggio, buttarli dove ti capita.
    Ho già litigato con altri su questa questione (link); il fatto è che a te come programmatore non costa praticamente niente (devi semplicemente fare una chiamata ad una API per ottenere un percorso, o espandere una variabile d'ambiente), ma aiuti molto gli amministratori di sistema e gli utenti dai privilegi limitati: l'amministratore così sa che tutte le impostazioni locali stanno da una parte, che tutte le impostazioni in roaming stanno da un'altra, che può impostare severe restrizioni di sicurezza agli utenti senza che il programma ne risenta. Per fare un esempio, il blocco della scrittura nella cartella programmi è di fondamentale importanza per la sicurezza del sistema: impedisce che un eventuale malware o un utente sbadato faccia casino con le applicazioni installate.
    Se il programma tenta di scrivere in una sottocartella di C:\Programmi l'operazione viene "dirottata" verso C:\Users\[utente]\AppData\VirtualStore. Purtroppo ho notato (e non ho capito bene il perché) che avviene la stessa cosa se si cerca di scrivere in ProgramData, che invece dovrebbe essere il posto giusto per i dati delle applicazioni condivise da tutti gli utenti del computer.
    Se non sbaglio le impostazioni condivise tra tutti gli utenti non sono scrivibili dagli utenti normali, ma solo dagli amministratori con privilegi elevati.
    Comunque è tutto spiegato qui.
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Mi rendo conto di essere ampiamente O.T., ma non posso fare a meno di rispondere.

    Magari non ti piace come è catalogata una biblioteca, ma questo non ti autorizza a metterci i libri secondo la tua catalogazione, o peggio, buttarli dove ti capita.
    Forse quando hai comprato lo scaffale per la tua biblioteca il mobiliere ti ha imposto il criterio con cui disporre i tuoi libri? Mi obbietterai che tu ti riferivi ad una biblioteca "di altri", ma il paragone non calza comunque. E' il proprietario della biblioteca che deve avere il diritto di scegliere il criterio di catalogazione, non chi vende scaffali. Poi, si può anche decidere liberamente di adeguarsi al criterio consigliato. Ma, tanto per restare nel tuo esempio, non vedo perché nella mia biblioteca ci deve essere un ripiano "musica", uno "video" e addirittura uno "saved games"! Girando per forum di paragoni simili se ne trovano a bizzeffe, come quello che dice che sei libero di riporre le chiavi dell'auto in frigo, sebbene quello non sia il posto giusto. Per ogni situazione si possono trovare infinite similitudini che la sostengono o che la avversano; in ogni caso ti assicuro che la mia biblioteca è ordinatissima.

    il fatto è che a te come programmatore non costa praticamente niente...
    Non è sul costo o sullo sforzo richiesto che è incentrata la mia critica.

    ... ma aiuti molto gli amministratori di sistema e gli utenti dai privilegi limitati: l'amministratore così sa che tutte le impostazioni locali stanno da una parte, che tutte le impostazioni in roaming stanno da un'altra, che può impostare severe restrizioni di sicurezza agli utenti senza che il programma ne risenta.
    Laddove esiste un amministratore di sistema (perché non esiste dappertutto, come certo sai) sarebbe proprio compito suo stabilire e mettere in atto regole e strumenti che impediscano che altri facciano casino. Può benissimo trattarsi di regole e strumenti in linea con le raccomandazioni del produttore del S.O., ma potrebbero anche divergere in qualche aspetto o essere anche più restrittive.
    Se non sbaglio le impostazioni condivise tra tutti gli utenti non sono scrivibili dagli utenti normali, ma solo dagli amministratori con privilegi elevati.
    E come la mettiamo con utenti normali che usano la stessa applicazione e devono condividere lo stesso database locale? A me sembrava che la cartella giusta fosse ProgramData, che infatti è la cartella restituita da SHGetSpecialFolderLocation con la costante CSIDL_COMMON_APPDATA, ma come dicevo prima subisce anch'essa la virtualizzazione.

    Comunque, fa sempre piacere confrontare opinioni.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.