none
CreateProcessWithLogonWでiexplore.exeを実行するとClickOnceが起動できない問題 RRS feed

  • 質問

  • ClickOnceの起動トラブルで困っています。
    原因が分からず行き詰っており、何か手がかりになるような情報や
    調査方法などご存じであればご教授いただきたく。

    ■現象
    CreateProcessWithLogonWで起動したブラウザからだとClickOnceが起動しなくなる。


    ■発生条件
    【環境】
    クライアント環境
    ・Windows7 Professional SP1 32bit
    ・InternetExplorer9
    ・.Net Framework 3.5.1

    【再現手順】
    ①:クライアントPCを起動する(※)。
    ②:「CreateProcessWithLogonW」をC言語のAPから実行。
    ③:②のAPIで「iexplore.exe」を実行しIEブラウザを立ち上げる。
    ④:③で立ち上げたブラウザでClickOnceの.application ファイルをURL指定する。

    ※1度ClickOnceの起動に成功すると再起動するまで「CreateProcessWithLogonW」で
     立ち上げたブラウザであってもClickOnceが起動できるようになるため。

    ■確認したこと
    ①CreateProcessWithLogonWから立ち上げたブラウザで直接ClickOnceを起動
     → 起動しない
    ②ClickOnceのURL指定した時のレスポンスをIEのF12開発ツールで確認
     → ・レスポンスは帰ってきている
       ・正常起動時と起動しない時でレスポンスの内容に差はない
       ・Content-Typeもapplication/x-ms-applicationとなっている
    ③IEの設定「MIMEスニッフィングを有効にする」を無効
     → 起動しない
     
    ■前提
    ・「CreateProcessWithLogonW」は他システムが実行しているため変更できない。
    ・ClickOnceのインストールモードと設定は「オンラインでのみ利用できる」に設定。
    ・「CreateProcessWithLogonW」実行前にClickOnceを起動しておく運用は現状考えていない。

    ■実現したいこと
    ・「CreateProcessWithLogonW」で立ち上げたブラウザからClickOnceを起動したい。

    2016年3月10日 1:06

回答

  • RunAsでの起動しか試せていないですが、ClickOnceアプリケーションを起動させるためのdfsvc.exeをあらかじめCreateProcessWithLogonWで起動させておくとどうなるでしょうか?
    ClickOnceアプリケーションを一度起動するとdfsvc.exeは起動したままになるので、再起動するまで有効になっているのだと思います。

    #ClickOnceを事前に起動してはダメというのがdfsvc.exeを事前に起動しておくのもダメという意味では適用できませんが。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2016年3月10日 3:59

すべての返信

  • RunAsでの起動しか試せていないですが、ClickOnceアプリケーションを起動させるためのdfsvc.exeをあらかじめCreateProcessWithLogonWで起動させておくとどうなるでしょうか?
    ClickOnceアプリケーションを一度起動するとdfsvc.exeは起動したままになるので、再起動するまで有効になっているのだと思います。

    #ClickOnceを事前に起動してはダメというのがdfsvc.exeを事前に起動しておくのもダメという意味では適用できませんが。


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    2016年3月10日 3:59
  • gekkaさん。
    さっそくご指南頂きありがとうございます。

    dfsvc.exeをあらかじめ起動しておくことで、
    問題が解消されそうです。

    もし問題があるようでしたら、
    再度投稿させて頂きます。

    大変助かりました。

    2016年3月10日 12:57