Ho un servizio .net in esecuzione sul computer locale (Windows 7 x64, IE8, .net 3.5, C#) che restituisce un file al browser in risposta a un'azione dell'utente. Utilizzando firefox o chrome, il file viene scaricato correttamente e la nostra applicazione viene lanciata tramite un tipo mime personalizzato e tutto va bene.IE8 non scaricherà un file con un mime/tipo personalizzato con UAC abilitato
Tuttavia, con IE8, viene visualizzata una finestra di dialogo "Impossibile scaricare il file da. Impossibile aprire questo sito Web. Il sito richiesto non è disponibile o non può essere trovato. Riprovare più tardi".
Utilizzando il violinista, ho verificato che IE riceve il payload dal servizio.
Se spengo UAC, IE scarica il file e avvia l'applicazione associata.
Disattivare UAC non è una soluzione praticabile, poiché i nostri clienti lo avranno abilitato.
Come è possibile ottenere IE8 per avviare l'applicazione associata con UAC abilitato?
EDIT:
Dopo una nuova registrazione di tipo mime con un ID programmatico come descritto here, posso ottenere IE per aprire mostrare la "Apri o Salva" finestra di dialogo per la seconda volta il collegamento è richiesto dalla barra degli indirizzi. Perché non funziona la prima volta?
Il tipo MIME personalizzato è addirittura necessario? Non basterebbe 'application/octet-stream'? – Joey
Buona domanda. Per quanto ne so, è come IE determina quale programma utilizzare per avviare un'applicazione. Questo è un circuito chiuso qui, è il nostro file di dati e il nostro spettatore. In quale altro modo dovremmo farlo? –
Se usi un tipo mime generico come application/octet-stream e un'estensione di file personalizzata che hai registrato con il tuo viewer (all'interno dell'installer del visualizzatore), IE (e tutto il resto) lo visualizzerà allora? –