none
イントラネットでのExeのダウンロード RRS feed

  • 質問

  • WinXP IE8

    イントラネットでExeファイルをWebサーバからダウンロードした場合、
    C#で作成したExeファイルの場合、下記メッセージが表示され正常にダウンロードできません。
    「Unable to find a version of the runtime to run this application.」
    同じExeファイルでも自己解凍形式のExeファイルなどは左クリックによるダウンロードが可能でした。
    IEの設定を変更することによって上記メッセージを表示させることなく
    左クリックでダウンロードさせることは可能でしょうか?

    ちなみに、右クリックによる対象の保存は正常に実行できます。
    また、サーバからの応答ヘッダに
    「Content-Disposition: attachment」を
    設定すれば左クリックでも正常にダウンロードできることは確認しております。

    • 編集済み y_nmaoh 2013年7月19日 5:14
    2013年7月19日 5:10

回答

  • 再現しました(`・ω・´)。
     
    ①WinXP IE8 & イントラネットゾーン(中低) →再現する
    ②WinXP IE8 & イントラネットゾーン(中)  →再現しない(※反応なし)
    ③WinXP IE8 & イントラネットゾーン(中高) →再現しない
    ④WinXP IE8 & インターネットゾーン(中)  →再現しない(※反応なし)
    ⑤WinXP IE8 & インターネットゾーン(中高) →再現しない
    ⑥Win8  IE10& イントラネットゾーン(中低) →再現しない
     
    ①の場合に、「Unable to find a version of the runtime to run this application.」と表示されました。
    また、①の設定であっても、
    .net 4.0で作成されたものでは再現しました。(直実行の場合は普通に起動)
    .net 2.0で作成されたものでは再現せず、実行が行われました。
     
    ①の設定の場合、ダイアログが表示されず、
    aタグを左クリックでいきなりexeが実行されました。
     
    ③、⑤、⑥の環境の場合、ダイアログまたは通知バーにて
    「保存」か「実行」かを選択する表示となりました。
     
    イントラネット&中低であっても
    Win8環境では「実行」か「保存」かの「通知バー」が表示されました。
     
    上記の通り、ゾーンの「セキュリティレベル」の設定変更で再現有無が変わることを確認しました。
    具体的な設定項目がいずれになるかは分かっていません。

    • 編集済み (´・ω・`) 2013年7月20日 13:29 .net2.0の場合の動作の補足
    • 回答としてマーク 星 睦美 2013年7月25日 4:20
    2013年7月20日 12:12

すべての返信

  • ダウンロードそのものはできていて、実行する条件を満たしていないためにエラーメッセージが出ています。例えばUSBメモリで当該EXEを持ち込んでも同じエラーが出るはずです。

    よってInternet Explorerとは無関係です。

    実行条件については作者にお問い合わせください。

    2013年7月19日 11:01
  • まず事象確認ですが、同じ左クリックというアクションでファイルによって
    ・exeの実行がされたようなメッセージが表示
    ・exeの実行はされず、ファイルがダウンロードされる
     
    という違いがあるのですね。
     
    onclickイベントでlocation.hrefを書き換えてみるとどうなりますでしょうか。

    2013年7月20日 2:21
  • ダウンロードそのものはできていて、実行する条件を満たしていないためにエラーメッセージが出ています。例えばUSBメモリで当該EXEを持ち込んでも同じエラーが出るはずです。

    よってInternet Explorerとは無関係です。

    実行条件については作者にお問い合わせください。

    佐祐理様
    ご返信ありがとうございます。
    このexeは当該PCにて正常に実行できることは確認済みです。

    IEでファイルをダウンロードする際、
    一時フォルダ内に保存後、
    ユーザー指定のフォルダに移動という手順になるかと思います。
    今回のexeはこの一時フォルダ内で(IEが)起動しようとしているのではないか?
    と疑いを持ったためご質問させていただきました。

    また、同じexeファイルでありながら正常にダウンロードが可能なものも存在し、
    その違いは何なのか?
    正直よくわからない状況です。

    2013年7月20日 2:54
  • ダウンロード、と言えば、普通、保存、のことだと思っちゃいますが、あなが言ってるのは、ダウンロードで、実行、を選択したときの話なのではないのですか?

    そのように言わないと話が通じませんよ。

    インターネット一時ファイルフォルダ以下はインターネットゾーンになるので、そのせいだと思いますよ。

    保存したものを、インターネット一時ファイルフォルダ以下に移して、実行したら同じエラーになるのでは?

    2013年7月20日 5:45
  • 再現しました(`・ω・´)。
     
    ①WinXP IE8 & イントラネットゾーン(中低) →再現する
    ②WinXP IE8 & イントラネットゾーン(中)  →再現しない(※反応なし)
    ③WinXP IE8 & イントラネットゾーン(中高) →再現しない
    ④WinXP IE8 & インターネットゾーン(中)  →再現しない(※反応なし)
    ⑤WinXP IE8 & インターネットゾーン(中高) →再現しない
    ⑥Win8  IE10& イントラネットゾーン(中低) →再現しない
     
    ①の場合に、「Unable to find a version of the runtime to run this application.」と表示されました。
    また、①の設定であっても、
    .net 4.0で作成されたものでは再現しました。(直実行の場合は普通に起動)
    .net 2.0で作成されたものでは再現せず、実行が行われました。
     
    ①の設定の場合、ダイアログが表示されず、
    aタグを左クリックでいきなりexeが実行されました。
     
    ③、⑤、⑥の環境の場合、ダイアログまたは通知バーにて
    「保存」か「実行」かを選択する表示となりました。
     
    イントラネット&中低であっても
    Win8環境では「実行」か「保存」かの「通知バー」が表示されました。
     
    上記の通り、ゾーンの「セキュリティレベル」の設定変更で再現有無が変わることを確認しました。
    具体的な設定項目がいずれになるかは分かっていません。

    • 編集済み (´・ω・`) 2013年7月20日 13:29 .net2.0の場合の動作の補足
    • 回答としてマーク 星 睦美 2013年7月25日 4:20
    2013年7月20日 12:12
  • ダウンロード、と言えば、普通、保存、のことだと思っちゃいますが、あなが言ってるのは、ダウンロードで、実行、を選択したときの話なのではないのですか?

    そのように言わないと話が通じませんよ。

    インターネット一時ファイルフォルダ以下はインターネットゾーンになるので、そのせいだと思いますよ。

    保存したものを、インターネット一時ファイルフォルダ以下に移して、実行したら同じエラーになるのでは?

    ウィンドウズスクリプトプログラマ様
    ご返信ありがとうございます。

    私の質問がわかりにくい記述であったことをお詫び申し上げます。

    今回の質問ではあくまでもダウンロードでの話しです。
    リンクを左クリックした際に、ダウンロードが行われず、
    実行されているかのようなメッセージが表示されるということです。
    私が意図している動作はあくまでもダウンロードであってexeの起動ではありません。

    2013年7月21日 15:05
  • ①の設定の場合、ダイアログが表示されず、
    aタグを左クリックでいきなりexeが実行されました。

    これをダイアログが出るようにしたいということですね。

    上記の通り、ゾーンの「セキュリティレベル」の設定変更で再現有無が変わることを確認しました。
    具体的な設定項目がいずれになるかは分かっていません。

    アプリケーションと安全でないファイルの起動

    これなんかどうでしょう。

    2013年7月21日 16:37

  • ③、⑤、⑥の環境の場合、ダイアログまたは通知バーにて
    「保存」か「実行」かを選択する表示となりました。
     

    (´・ω・`)様
    ご返信ありがとうございます。
    また、いろいろと試していただき、お礼申し上げます。

    セキュリティ中高と中低の差を見ながら
    レベルのカスタマイズの項目をひとつひとつ確認したのですが、
    どの項目が影響を与えているのか、私の方ではわかりませんでした。
    しかし、セキュリティレベルを中高にすれば狙った動作になることがわかりました。

    ありがとうございました。

    2013年7月22日 7:55

  • アプリケーションと安全でないファイルの起動

    これなんかどうでしょう。

    ウィンドウズスクリプトプログラマ様
    ご返信ありがとうございます。

    試してみましたが、やはりexeが起動されてしまうようです。


    2013年7月22日 8:06
  • セキュリティレベルのカスタマイズでは設定できない項目が影響を与えているらしい事をつきとめました。

    レジストリ

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1

    2005:0x00000000→exeが起動されます

    2005:0x00000003→ダイアログにて「保存」か「実行」かを選択できます

    上記のレジストリエントリが何の設定項目なのかわかりませんが、とりあえずメモとして記載しておきます。


    ご返信いただいた、佐祐理様、(´・ω・`)様、ウィンドウズスクリプトプログラマ様に

    あらためてお礼申し上げます。

    貴重な時間を割いていただき、ありがとうございました。

     

    2013年7月22日 9:08