Ich habe einen .net-Dienst auf dem lokalen Computer (Windows 7 x64, IE8, .net 3.5, C#), der eine Datei an den Browser zurückgibt als Reaktion auf eine Benutzeraktion. Mit Firefox oder Chrome wird die Datei ordnungsgemäß heruntergeladen und unsere Anwendung wird über einen benutzerdefinierten MIME-Typ gestartet und alles ist gut.IE8 wird keine Datei mit einem benutzerdefinierten Mime/Typ mit aktivierter Benutzerkontensteuerung herunterladen
Jedoch, mit IE8, erhalte ich einen Dialog "Datei kann nicht heruntergeladen werden. Kann diese Internetseite nicht öffnen. Die angeforderte Seite ist entweder nicht verfügbar oder kann nicht gefunden werden. Bitte versuchen Sie es später erneut".
Mit Fiddler habe ich überprüft, dass IE die Nutzlast von dem Dienst empfängt.
Wenn ich UAC abstelle, lädt IE die Datei herunter und startet die zugehörige Anwendung.
Die Deaktivierung von UAC ist keine praktikable Lösung, da unsere Kunden sie aktivieren können.
Wie kann ich IE8 veranlassen, die zugehörige Anwendung mit aktivierter Benutzerkontensteuerung zu starten?
EDIT:
Nach den Mime-Typ mit einer programmatischen id wie here Neuregistrierung, kann ich IE zu öffnen bekommen zeigen, die „Öffnen oder Speichern“ -Dialog zum zweiten Mal der Link aus der Adressleiste angefordert wird. Warum funktioniert es nicht das erste Mal?
Ist der benutzerdefinierte MIME-Typ sogar notwendig? Wäre 'application/octet-stream' nicht ausreichend? – Joey
Gute Frage. Soweit ich weiß, bestimmt IE, welches Programm zum Starten einer Anwendung verwendet wird. Dies ist eine geschlossene Schleife hier, es ist unsere Datendatei und unser Betrachter. Wie sonst würden wir es tun? –
Wenn Sie einen generischen MIME-Typ wie application/octet-stream und eine benutzerdefinierte Dateierweiterung verwenden, die Sie in Ihrem Viewer registriert haben (im Installer des Viewers), wird IE (und alles andere) es dann anzeigen? –