1

.NET 2.0 用の ClickOnce アプリを開発しましたが、問題なく動作します。生成されたページでインストール ボタンを押すか、 IE 内でpublish.htmlアプリケーション URL に直接アクセスすると、意図したとおりにインストール/起動して実行されます。https://<host>:<port>/<path>/<app>.application

ユーザーの開始エクスペリエンスを向上させるために、ユーザーが別のボタンやリンクをクリックする必要なく、アプリケーションのインストール/起動をすぐに開始したいと考えています。したがって、次の JavaScript コードを追加しました。

setTimeout(function() {
  var iframe = $("<iframe/>")
      .attr("id", "autoDownloadFrame")
      .attr("src", "https://<host>:<port>/<path>/<app>.application")
      .hide();
  iframe.appendTo($('body'));
}, 1500);

このコードは、たとえば、インストーラーの自動ダウンロードを開始するために正常に機能します。.applicationまた、ClickOnce アプリのファイルをダウンロードすることもできます。残念ながら、ClickOnce のインストール / 起動でアプリを起動できません。

Content-Typeこれは、Web サーバーによって設定されていることに関連している可能性があると思いました(ここでは Spring 3.2 で Tomcat 7 を使用しています)。ただし、コンテンツ タイプが自動起動に設定されていることを確認 (および確認) した後でも、application/x-ms-application発生しません。

なぜそうなのかについてのヒントはありますか?

OS: Win7 Enterprise 64 ビット、EN ブラウザ: MSIE 9.0、.NET 2.0 から 3.5 まで利用可能 (当然、クリック スタートが機能するため) プロトコル: HTTP と HTTPS の両方をカスタム ポート (8080 と 8443) でテスト済み

ヒントをお寄せいただきありがとうございます!乾杯、ビョルン

4

2 に答える 2

0

私の現在の調査と同僚からのフィードバックによると、この動作は、ユーザーが (リンクまたはボタンを明示的にクリックして) 明示的に "要求" していない自動アプリの起動を防ぐために、Microsoft によって意図的に実装されたことが示されています。したがって、これは実行できないと考えて、「このボタンをクリックして開始する」という解決策に進みます。

私が間違っている場合は、お気軽に訂正してください。この場合は間違っていると思います:)

乾杯、ビョルン

于 2013-05-10T07:34:58.763 に答える