Impossibile trascinare i file da Explorer in Notepad ++ in esecuzione come amministratore su Windows 8


22

Se ho Notepad ++ in esecuzione come amministratore, non riesco a trascinare i file da explorer su di essi (vengono rifiutati con il cursore "stop") e se provo a usare l'estensione explorer facendo clic con il tasto destro del mouse su "Modifica con Notepad ++", viene visualizzato un errore .

Aprire i file utilizzando la finestra di dialogo "Apri" di Notepad ++ o anche fare doppio clic su di essi in Explorer funziona come dovrebbe. (Nota che il doppio clic non è una soluzione poiché pochissimi file che voglio aprire sono predefiniti in Notepad ++)

Ho UAC impostato su "non avvisare".

L'uso dell'hack in cui la "modalità di approvazione dell'amministratore" dell'UAC è disabilitata risolve il problema, ma uccide la possibilità di utilizzare le app Metro.


Perché usi Notepad ++ come amministratore?
Kinokijuf,

1
Non lo sono più, ma al momento della domanda era di modificare facilmente il file hosts (qualcosa che non ho bisogno di toccare così spesso ora)
Luke F

1
Funziona anche come amministratore dopo aver aggiornato un plugin. Sono finito qui prima e poi ho guardato la barra del titolo della finestra. Yup Admin. Correzione: basta riavviarlo.
Bloke CAD

Risposte:


31

I processi a bassa integrità non possono passare i messaggi a quelli di livello superiore.

Scoprirai che questo è il caso di qualsiasi processo elevato a partire da Windows Vista.

I processi vengono eseguiti con determinati token di accesso di sicurezza e livelli di integrità. Explorer viene eseguito con il token limitato dell'account utente con un livello di integrità medio e quando si eleva un processo eseguendo come amministratore, utilizzerà un token di sicurezza diverso e senza restrizioni con un livello di integrità elevato.

Parte della revisione della sicurezza fornita con Vista è stata Isolation Privilege Isolation , che impedisce ai processi di livello inferiore di inviare messaggi a quelli di livello superiore (perché i messaggi possono essere dannosi, come nel caso di attacchi frantumati).

Quindi, in questo caso, Windows non consentirà a Explorer di inviare il messaggio di trascinamento a Notepad ++ (in realtà restituisce "successo" ma rilascia il messaggio).

Per informazioni più dettagliate su token di accesso, livelli di integrità e UIPI, vedere Progettazione del meccanismo di integrità di Windows .


7

Louis ha spiegato perché non puoi trascinare da Explorer in modalità non amministratore in Notepad ++ in modalità amministratore, e magicandre ti ha spiegato come aggirarlo eseguendo Explorer in modalità amministratore.

Dopo aver riscontrato un problema simile, devo chiedere di più: perché stai eseguendo Notepad ++ in modalità amministratore, in primo luogo? Nel mio caso è stato perché il plugin HTML Tidy che mi piace usare deve aggiornare un file cfg nella cartella Programmi del Notepad ++ per funzionare; e Windows 8 ha Program Files bloccato come un matto.

Quindi alla fine ho sbloccato la cartella Programmi Notepad ++ come indicato qui: http://forums.auran.com/trainz/entry.php?115-Removing-the-security-rest restrizioni - from-a- folder-in-the -programma-Files-cartella

Quindi potrei tranquillamente eseguire Notepad ++ come utente normale, quindi trascinare e rilasciare o utilizzare di nuovo il menu contestuale sempre a portata di mano, dall'esploratore non amministratore in Notepad ++ non amministratore.

Spero che questo ti aiuti in qualche modo.


1
Quando ho riscontrato questo problema, questa è la vera risposta che stavo cercando. Non so cosa sia successo, ma la centrale nucleare non è andata così fino all'ultimo aggiornamento un paio di giorni fa.
darkpbj,

Come sviluppatore di software e amministratore di sistemi, spesso devo modificare i file con autorizzazioni / proprietà diverse. Eseguire il mio editor come amministratore è molto più conveniente che modificare le autorizzazioni prima e ripristinare dopo.
Alex McMillan,


2

Nella maggior parte dei casi (dove hai accesso in lettura ma non in scrittura come utente normale) esiste un approccio migliore rispetto all'esecuzione di Notepad ++ come amministratore:

Installa il plug-in "Salva come amministratore" (vedi Gestione plug-in Notepad ++).

Ora esegui Notepad ++ come utente normale e apri i file che desideri modificare. Dato che hai accesso in lettura, questo funzionerà senza problemi.

Ora ogni volta che si tenta di salvare un file non si dispone delle autorizzazioni di scrittura, il plug-in "Salva come amministratore" aumenterà i privilegi per il salvataggio. Pertanto, se ora si esegue il comando di salvataggio, verrà visualizzata una finestra di dialogo Controllo dell'account utente e se si seleziona "Sì" in tale finestra di dialogo, il file verrà salvato utilizzando le autorizzazioni di amministratore.


1

Un'altra soluzione alternativa consiste nell'utilizzare la versione standalone (zippata) di Notepad ++ anziché la versione del programma di installazione.

  1. Disinstalla / Elimina Notepad ++
  2. Vai alla pagina di download di Notepad ++ e scarica il pacchetto .zip o .7z (non l'exe)
  3. Decomprimi il contenuto di quel pacchetto da qualche parte all'interno della tua directory utente

L'inconveniente di questa soluzione alternativa è che ovviamente dovrai creare le tue scorciatoie e aggiornare manualmente l'editor di testo predefinito, se lo desideri. E non avrai la voce del menu contestuale per il blocco note a meno che tu non lo modifichi da solo.


0

La modifica delle autorizzazioni per un'attività elevata installata dal servizio di installazione elevata è difficile nella migliore delle ipotesi. Windows 7 x64. Ho seguito il percorso suggerito .. Ho usato il Pannello di controllo »Programmi e funzionalità per disinstallare Notepad ++.

Quindi è andato sul sito Web di Notepad ++ e scaricato la versione zippata senza programma di installazione .

Quindi ha utilizzato Esplora risorse per estrarre tutti i file nel percorso C:\Program Files (x86)\Notepad++, lo stesso del percorso di installazione originale.

Quindi ho creato un gruppo di cartelle nella sezione Tutti i programmi del menu Start.

  • Fai clic sul menu Start
  • Fare clic con il tasto destro su Tutti i programmi
  • Apri tutti gli utenti
  • Fai clic su Programmi
  • Fare clic con il tasto destro, Nuovo »Cartella , inserireNotepad++

Quindi ho usato un'altra finestra di Explorer per creare un collegamento notepad++.exe, quindi ho trascinato e rilasciato quel collegamento nel C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Notepad++, rispondendo alla finestra di dialogo Accesso alla cartella di destinazione negata con Continua .

Successivamente disabilita la funzione AutoUpdate per Plugin su Notepad ++, come la maggior parte dei software in questi giorni "Aggiornamenti" sono spesso "ostili" e comportano un reale grado di rischio. Per un'applicazione che preferisco sapere quando si verifica un aggiornamento .. non è un servizio, quindi è più pericoloso affidarsi agli sviluppatori per testare correttamente il loro codice.

Vai »Plugin» Plugin Manager »Mostra plug-in» Impostazioni (angolo in basso a sinistra), deseleziona Notifica aggiornamenti plug-in all'avvio .

Ora posso trascinare e rilasciare di nuovo.

Ora il processo Notepad ++ non viene eseguito come attività elevata e altre applicazioni come Explorer possono trascinare e rilasciare i file nella finestra del programma Notepad ++ aperta per aprirli.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.