web-dev-qa-db-ja.com

ActiveXObject作成エラー「オートメーションサーバーはオブジェクトを作成できません」

私は非常にシンプルなjavascriptコードを持っていますが、

<script language="javascript">          
         function RunExe()   
         {  
           w = new ActiveXObject("WScript.Shell");
           w.run('notepad.exe');
           return true;

         }  
</script>
    <form id="form1">
    <div>
      <input type="button" value="Run" onclick="return RunExe()" />
    </div>
    </form>

ActiveXオブジェクトを作成してnotepad.exeを実行します。これをプレーンHTMLに保存してIEで実行すると、メモ帳を開いて正常に動作しますが、aspxページに挿入して実行すると、 「自動化サーバーはオブジェクトを作成できません」と呼ばれるエラー、私はそれを何度もグーグルで検索しましたが、IE私がすでにやったセキュリティのこととASPまたはIISこれはわかりませんでした。

あなたの提案や意見は非常に理解しやすいものです。

ありがとう

15
Asanka

メモ帳からコードを実行できないので、ファイルシステムからページを開いていることになります。別名c:/foo/bar/hello.html

Asp.netページからコードを実行すると、localhostから実行されます。別名 http:// loalhost:1234/assdf.html

これらはそれぞれIEの異なるセキュリティゾーンで実行されます。

7
epascarello

これは、Internet Explorerのセキュリティ設定が原因です。これは、Internet Explorerの設定を変更することで修正できます。[設定]-> [インターネットオプション]-> [セキュリティ]タブに移動します。異なるゾーンが表示されます:i)インターネットii)ローカルイントラネットiii)信頼済みサイトiv)制限付きサイト。要件に応じて、1つのゾーンを選択します。私はローカルホストでアプリケーションを実行していますので、ローカルイントラネットを選択し、レベルのカスタマイズボタンをクリックします。セキュリティ設定ウィンドウが開きます。初期化を有効にして、スクリプトオプションに対して安全とマークされていないActivexコントロールのスクリプトを作成してください。

enter image description here

enter image description here

24
Chandra Malla

これが機能するためには、本当に、本当にセキュリティ設定を緩める必要があります(一般的にはお勧めしません)

Webサイトを「信頼済みゾーン」に追加してから、カスタム設定(ページの1/2ほど下にスクロール)に移動して変更する必要があります。

ActiveXコントロールとプラグイン-有効(またはプロンプト)...コードに適用される設定のいずれか(最後の設定がヒットしている設定だと思います)-「スクリプトを実行しても安全だとマークされたActiveXコントロール*」

つまり、これを行う本当に本当に理由がない限り、ブラウザのセキュリティに大きな「穴」を開けているということです...非常に慎重にステップを踏んでください...そしてdo not他のエンドユーザーが同じことを喜んで行うことを期待します。

11
scunliffe

私も同じ問題を抱えて解決しています。リンクをご覧ください

サイトを信頼済みゾーンに追加し、[ツール]メニュー-> [インターネットオプション]-> [セキュリティ]-> [カスタムレベル]-> [スクリプトを実行しても安全とマークされていないActiveXコントロールを初期化およびスクリプト化]

http://forums.codeguru.com/showthread.php?t=256114

7
Dafy Sequera

私は同じ問題を抱えていますが、dllを登録することで解決しました

プロジェクトプロパティ=>ビルド=> COM相互運用機能の登録=>チェック

1
Mandoleen