Quindi sto lavorando su un semplice programma .NET per lavoro e ho colpito un po 'di un bizzarro blocco che posso' t capire. L'applicazione utilizza un file di configurazione che aggiunge applicazioni a un menu a discesa. Tuttavia, prima di essere aggiunto al menu, fa un system.io.file.exists per verificare che il file esista, almeno al momento della creazione del menu.System.IO.File.Exists (@ "C: Windows System32 SnippingTool.exe") restituisce false
Tuttavia, System.IO.File.Exists (@ "C: \ Windows \ System32 \ SnippingTool.exe") restituisce false, ma l'eseguibile esiste. Allo stesso modo, stikynot.exe restituisce anche false. Altri file nella directory system32 restituiscono true (come notepad). Posso compilare queste applicazioni, ma il mio programma .net non può leggerle e system.io.file.exists restituisce false. Ho controllato varie autorizzazioni senza fortuna. Sembra essere isolato per alcune applicazioni, ma non sono sicuro del perché.
Fa l'account che il programma è in esecuzione hanno i permessi per navigare in quella posizione? In caso contrario, si otterrà false in questa chiamata. – Oded
Sì, e può trovare altre applicazioni in quella directory bene. – Morcalavin
possibile duplicato di [C# Controllare se esiste un eseguibile nel percorso di Windows] (http://stackoverflow.com/questions/3855956/c-sharp-check-if-an-executable-exists-in-the-windows-path) – Arion