none
ClickOncについて RRS feed

  • 質問

  • ClickOnceを使ってWindowsアプリケーションの配布を行いたいのですが
    必須コンポーネントの選択の部分でうまく行きません。

    アプリケーションと.NET Framework 2.0をCDに一緒に入れて配布したいのですが。

    発行の必須コンポーネントの選択で .NET Framework 2.0 を選択し、インストール場所を
    『アプリケーションと同じ場所から必須コンポーネントをダウンロードする』を選択して実行
    しても下記のエラーが表示されます。

    ///////////////////////////////////
    エ ラー    2    必須コンポーネントのインストール場所が、'コンポーネントの開発元の Web サイト' に設定されていません。項目 '.NET Framework 2.0' のファイル 'DotNetFX\instmsia.exe' がディスクに見つかりません。詳細については、ヘルプを参照してください。
    ///////////////////////////////////
    (同様のエラーでファイル名が違うのがあと3個出ています。)

    色々調べたのですが解決方法が見つかりません。
    ご存知でしたらお教え下さい。
    2006年3月7日 15:27

回答

  • 「Masahiko Isshiki」さん「ディベロッパー製品開発統括部テスティング - MSFT」さんお世話になりました。

    これで上手く行きそうです。
    ありがとうございました。
    2006年3月22日 1:46

すべての返信

  • 試してみましたが、私の環境では正常にCD-ROMにある.NET Frameworkをインストールできました。発行場所はCD-ROMのメディアを作るためのファイル・パス(例えば「C:\Test\」)を指定していますか? もしかしたらhttp://などのWebサイトを指しているとダメかもしれません。

    2006年3月13日 16:35
  • 返信ありがとうございます。

    発行場所は「C:\test」のようにファイル・パス名を指定していますが...

    上記のようなエラーとなります。

    'DotNetFX\instmsia.exe' がどこにあるのか分かりませんが、どこかで

    指定しないといけないのでしょうか。

    2006年3月16日 16:24
  • (環境に依存したバグなどもあり得るのではっきりとはいえませんが)
    次の手順でClickOnceを発行した場合にはうまくいくはずです。

    1. C#のWindowsアプリケーションのプロジェクト(WindowsApplication1)を新規作成。

    2. プロジェクト・プロパティの発行ページで[必須コンポーネント]ボタンをクリックして、表示される[必須コンポーネント]ダイアログで[アプリケーションと同じ場所から必須コンポーネントをダウンロードする]にチェックを入れる。

    2. プロジェクト・プロパティの発行ページで[オプション]ボタンをクリックして、表示される[発行オプション]ダイアログで[CDからインストールする場合、CDが挿入されるときにセットアップを自動的に開始する]にチェックを入れる。

    3. プロジェクト・プロパティの発行ウィザードボタンをクリックして以下の入力を行う。
    ・アプリケーションをどこに発行しますか?
     →「C:\Test\」
    ・ユーザーはアプリケーションをどのようにインストールするのですか?
     →「CD-ROMまたはDVD-ROMから」
    ・アプリケーションの更新はどこで確認するのですか?
     →「アプリケーションの更新を確認しない」
    ・発行準備が完了しました
     →[完了]ボタンをクリック

    4. 発行が終わったらフォルダが開かれるので、次のものがあるか確認してください。
    ・「dotnetfx」フォルダ
      →(中身は「dotnetfx.exe」「instmsia.exe」「langpack.exe」「WindowsInstaller-KB893803-v2-x86.exe」)
      →※「'DotNetFX\instmsia.exe'」はここにある。
    ・「WindowsApplication1_1_0_0_0」フォルダ
      →(中身は「WindowsApplication1.exe.deploy」「WindowsApplication1.exe.manifest」)
    ・「autorun.inf」ファイル
    ・「publish.htm」ファイル
    ・「setup.exe」ファイル
    ・「WindowsApplication1.application」ファイル
    ・「WindowsApplication1_1_0_0_0.application」

    5. autorun.infファイルをダブルクリックしてメモ帳で開き、[名前を付けて保存]を実行して、文字コードを「ANSI」に変更して、同じ名前のまま上書き保存する。

    6. 生成されたすべてのフォルダとファイルをCD-ROMやDVD-ROMのルートに焼く。焼くソフトは何でも良い(例えば「Burn4Free」など)。
     (つまり、ここで焼いたCD-ROMをドライブにいれると、「D:\autorun.inf」や「D:\setup.exe」という感じになる。)

    7. CD-ROMやDVD-ROMをドライブに入れると自動的にセットアップ(setup.exe)が走りインストールが開始される。

    2006年3月17日 7:22
  • ネオさん、ご投稿ありがとうございます。

    C# Express Editionには.NET Framework 2.0などのセットアップファイルが含まれていないので、.NET Framework 2.0を必須コンポーネントとして選んで『アプリケーションと同じ場所から必須コンポーネントをダウンロードする』を選択すると、発行時にそれらのファイルが見つからないためエラーが発生します。 これはVB Express Editionなどの他のExpress Editionでも同様です。

    セットアップファイルをあらかじめ適切な場所に配置しておけばエラーを回避できます。 具体的な手順につきましては、同様の問題に遭われた方の別のスレッドにご紹介させていただいたので、そちらを参照してお試しいただけますでしょうか。

    C#2005 ExpressEditionでの配布方法
    http://forums.microsoft.com/msdn-ja/ShowPost.aspx?PostID=276858&SiteID=7


    この投稿は現状のまま何の保証もなく掲載しているものであり、何らかの権利を許諾するものでもありません。コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。詳しくは http://www.microsoft.com/japan/communities/msp.mspx をご覧ください。

    2006年3月17日 9:29
  • 「Masahiko Isshiki」さん「ディベロッパー製品開発統括部テスティング - MSFT」さんお世話になりました。

    これで上手く行きそうです。
    ありがとうございました。
    2006年3月22日 1:46