none
VS2005のセットアッププロジェクトで必須コンポーネントを複数言語用意するには? RRS feed

  • 質問

  • 山口と申します。

     

    Visual Studio 2005 Team Edition for Software Developersにて、自作ソフトのインストーラを作成しようと

    しているのですが、インストーラを複数言語用意するつもりです。

    なお .NET Framework や SQL Server Express などの「必須コンポーネント」も自作ソフトと

    同梱配布とする予定です。

     

    そこでまず、セットアッププロジェクトを言語の数だけ複製して、Localizationプロパティを対応言語に変更しました。

    これだけで、インストーラの言語と必須コンポーネントが指定言語に変わることは承知しています。

     

    で問題なのは、開発環境VS2005が日本語版なので、当然「必須コンポーネント」の収集元

    (VS2005のインストールフォルダ)SDK\v2.0\BootStrapper\Packages\

    には、各コンポーネントの日本語版(jaフォルダ)しか存在しません。

    このため、そのままビルドしても「指定カルチャに一致する必コンポーネントが無い」旨の警告が発生してしまいます。

     

    そこで、マイクロソフトのダウンロードセンターから再配布可能モジュールの各言語版を収集して、

    Bootstrapperフォルダ以下に同様に準備しようと考えたのですが、

    既存のjaフォルダを見ると package.xml ファイルなどがあって、どうもそんな単純な話ではないようで…

     

    ちなみに、この開発パソコン自体はインターネットに繋ぐことが出来ないため、

    別経路で入手したモジュールをコピーする予定です。

     

    このようにVS2005の環境下に、セットアップ用必須コンポーネントを複数言語用意するにはどうすればいいのか?

    正しい手順をご存知の方がおられたら、宜しくご教授願います。

     

    なお同様の方法で、たとえばSQL Server ExpressをSP1版に差し替えておく、ということも可能かと思うのですが…

    このあたりのテクニックについても併せてご教授願います。

     

    -以上-

    2007年12月26日 6:51

回答

  •  

    ぼーずさん、レスありがとうございます。山口です。

    返信が遅くなって申し訳ありません。

     

    「Bootstrapper Manifest Generator」については、ネットをクグって情報は入手していたのですが、

    Microsoft純正品ではないのと、完成度がいまひとつとの情報もあったので、あえて試していませんでした。

     

    その後、自分でも色々調べていたのですが、「.NET Framework 2.0 SDK」の各言語版を入手して

    開発環境にインストールすれば、その言語の必須コンポーネントの収集元を構築できることがわかりました。

    少々手間は掛かりますが…

     

    参考情報としてここに報告し、本件は解決済みとさせていただきます。

    -以上-

    2008年1月18日 9:27

すべての返信

  •  山口 さんからの引用

     そこで、マイクロソフトのダウンロードセンターから再配布可能モジュールの各言語版を収集して、

    Bootstrapperフォルダ以下に同様に準備しようと考えたのですが、

    既存のjaフォルダを見ると package.xml ファイルなどがあって、どうもそんな単純な話ではないようで…

     



    正しい方法はわかりませんが、基本的にはそれでできると思います。

    enフォルダなどを作成して、jaフォルダのpackage.xmlを参考に各言語のメッセージに書き換える感じでしょうか。
    あと、product.xmlの一部(PackageFiles)を消して、各言語のpackage.xmlにそれぞれ書く必要があります。
    コンポーネント(product)によってはもう少し修正する必要があるかもしれません。

    手っ取り早く各言語のpackage.xmlを作るには、各言語のVSをインストールしてそこからコピーするのがいいかもしれません。
    subscriptionを持っていればダウンロードできますし。
    (ただ、ライセンス的に問題ないのかわかりませんが。)

    MSDNライブラリーかMSサイトにproduct.xmlやpackage.xmlのスキーマがあると思うので、自力で作るのもいいですが「Bootstrapper Manifest Generator」というものもあるようです。
    http://www.davidguyer.us/bmg/publish.htm
    http://www.atmarkit.co.jp/fdotnet/clickonce/clickonce05/clickonce05_01.html
    http://www.exconn.net/Blogs/team01/archive/2006/02/15/6990.aspx
    2007年12月26日 8:38
  •  

    ぼーずさん、レスありがとうございます。山口です。

    返信が遅くなって申し訳ありません。

     

    「Bootstrapper Manifest Generator」については、ネットをクグって情報は入手していたのですが、

    Microsoft純正品ではないのと、完成度がいまひとつとの情報もあったので、あえて試していませんでした。

     

    その後、自分でも色々調べていたのですが、「.NET Framework 2.0 SDK」の各言語版を入手して

    開発環境にインストールすれば、その言語の必須コンポーネントの収集元を構築できることがわかりました。

    少々手間は掛かりますが…

     

    参考情報としてここに報告し、本件は解決済みとさせていただきます。

    -以上-

    2008年1月18日 9:27