- PR -

C#アプリケーション配布

投稿者投稿内容
Npara
会議室デビュー日: 2006/02/06
投稿数: 13
お住まい・勤務地: 福岡市
投稿日時: 2006-02-06 16:34
いつもお世話になっております、Nparaです
(投稿は初めてです、よろしくお願いします)

先日、C#アプリケーション配布の為のインストーラー作成を依頼されました。
インストーラーに関する基礎知識はありませんでしたが、
現在の開発環境(VS2003)で作成する事が可能という話でしたので作業にとりかかりましたが・・・

◎インストール時に以下の処理を実行させたい
・音声/画像ファイルを指定の階層(固定位置)へ配布
・実行ファイルを指定の階層(固定位置)へ配布
・実行ファイルの起動
・DBインストール(DB作成/Table作成)
・レジストリ書込み

調査の結果、VSのデプロイメントプロジェクトのみでは困難だとわかりました。

WindowsInstallerやOrca等を駆使しないと難しいようですが
手探り状態なのでなかなか先に進めなくて困っています。

この機会にインストーラーに関する知識を深めたいと考えています。
些細な事でも良いのでアドバイスよろしくお願いします。
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2006-02-06 19:34
日本語関係では...
アプリケーションとコンポーネントの配置 が入り口ですね。
VSデプロイメントに限定されていますが、基本的な部分を日本語で丁寧に解説しています。

後は、ドキュメントとしては、InstallShield の日本語ヘルプが入門としては結構よいのですが、
製品を買わないといけませんので、書籍の InstallShield 公認ガイドブックをお勧めいたします。
こちらは、InstallShield では基本MSIと呼ばれる WindowsInstaller の標準的な
実装形式でのインストーラの作成方法の基本が記載されています。
InstallShieldの特定バージョンを基準としてますので、ツールそのものの使い方的な
部分もありますが、インストーラの作成を行うのであれば一冊くらいはキープしておきたい書籍の一つです。
...というか...
これしか日本語の書籍って無いんですけどね(^^;

でもって、資料として忘れてはならないのは、WindowsInstallerSDK ですね。
英語ですが、ここにない情報は全部アンドキュメント扱いです(^^;

オンラインコミュニティでは
GDNJ のデプロイメント会議室があります。こちらは、VSデプロイメント関係を広く扱ってます。

そのほかでは、
Windows Installer/WiX/InstallShield メーリングリスト(通称:MSI-ML)
InstallShield メーリングリスト があります。

後者はInstallShield 専用ですが、前者は Windows のインストーラ関係なら何でもありです(^^;

英語でも問題がないのなら InstallSite - Resources for Setup Developers というサイトがあります。
こちらは、日本語「以外」のさまざまなインストーラ関係の情報の宝庫となっています...
というか、実質的なインストーラ系の総本山です(^^;
日本語関係の情報はおそらく皆無だと思いますが(^^;


開発ツールも書いておきますね。
まずは、VSデプロイメント。
こちらはVS2002以降で、StandardEdition 相当品以上の全製品に含まれています。
2002/2003/2005 のいずれも使い方も機能も殆ど大差ありません。
.NET を利用する場合は、該当するバージョンを使うことをお勧めします。
Native C++ の場合はどれでもOKですけど(^^;

市販ツールとしては、InstallShield があります。
こちらは、Express 版という廉価版もありますが、シェアウェア作者などでもない限りは、お勧めできません。

他にも、日本語版があるのですが、ここ最近バージョンアップしていないため、かなり古いです(英語版を使えということなのでしょう)。

他にはオープンソースになりますが、Windows Installer XML (WiX) toolset があります。
英語版しかありませんが、最軽量のインストーラが作成できます。

_________________
// とっちゃん(高萩 俊行)@わんくま同盟
// とっちゃん’Blog
// MS-MVP for Developer Tools - Visual C++
// WindowsInstallerの話題はhttp://www.freeml.com/msiまで
Npara
会議室デビュー日: 2006/02/06
投稿数: 13
お住まい・勤務地: 福岡市
投稿日時: 2006-02-07 11:05
とっちゃんさん

アドバイス有難うございます。

VSデプロイメントでは簡単なインストーラーしか作成できないと聞いてから深く読み進めていませんでしたが、先入観抜きで読み進めてみると大変参考になりました。

Windows Installer XML (WiX) toolsetなど、魅力的な開発ツールもあるようですが、英語力がさほど高いわけではないので、今は背伸びせずに教えて頂いたサイトを参考にVSデプロイメントで作成してみようと思います。
適切な開発ツールを決定できずにパニック状態になっていましたが、お陰で道が見えてきました。

InstallShield に関しては、予算の関係で今回はご縁がないようです。
日本語ヘルプが入門として良いというお話なのに、残念です。

それにしても、インストーラー関係の日本語の書籍はInstallShield 公認ガイドブックくらいしかないというのは驚きです。
今思えば、私が今までインターネットで情報を集めていた時に参考にしていた資料の多くはとっちゃんさんの書き込みだった様な気がします。
本当にお世話になっています、感謝です
とっちゃん
大ベテラン
会議室デビュー日: 2005/07/19
投稿数: 203
投稿日時: 2006-02-09 13:52
とっちゃんです。
#埋もれてて気がつきませんでした(^^;

引用:

VSデプロイメントでは簡単なインストーラーしか作成できないと聞いてから深く読み進めていませんでしたが、先入観抜きで読み進めてみると大変参考になりました。


初歩的なところから比較的高度なところまで、VSデプロイメントで出来ることに限定されてはいるものの
一通りの基本は網羅していますからね。
足がかりとしては十分なボリュームだと思います。

引用:

Windows Installer XML (WiX) toolsetなど、魅力的な開発ツールもあるようですが、英語力がさほど高いわけではないので、今は背伸びせずに教えて頂いたサイトを参考にVSデプロイメントで作成してみようと思います。


VSデプロイメントでまかなえないようになってきたらこちらも検討してみてください。
ただ、もしアップデータの提供を出来るだけ小さくしたいなどというのを考えている。
もしくは、たくさん(数百)のファイルをインストールしようと思っているというのであれば
最初から WiX の利用をお勧めします。
予算の都合がつくのであれば、InstallShield でもよいのですが(^^;

確かに英語の壁はありますが、元々日本語の情報なんてないに等しいくらい少ないですし
ちょっとなにかと思うと InstallShield を使っていても英語の情報を探らないと
やっていけませんので、そういう意味ではどれを使っても大差ありません(^^;

#UI部分については自前ローカライズになりますけどね

引用:

それにしても、インストーラー関係の日本語の書籍はInstallShield 公認ガイドブックくらいしかないというのは驚きです。


日本に限らず、世界的に見てもあまり書籍はないようです。

日本だと、WEB上でも個々人でいくつか載せている程度ですし。
私のブログにもいくつかありますが、自分の覚書を清書した程度しかないですし。

ここに限ってみても1ヶ月に何件かあるかどうかですし
GDNJ も最近はあまり書き込みないですしね<インストーラ関係
一番多いのは...msi-ml かなぁ...

最近やっと宣伝効果が出始めて、人が集まりつつあるという状況のようです。

ここに、URLのせると人が増えるんですよね。ってことで宣伝しておこう
http//www.freeml.com/ctrl/html/MLInfoForm/msi@freeml.com もよろしく〜
Windows で、インストーラ関係ならどんな内容でもOKです。
さすがにドライバの...とか言われるとついていけないと思いますけど、探すお手伝いくらいは出来ますので
謳ってはいませんが、独自インストーラでもOKです。

引用:

今思えば、私が今までインターネットで情報を集めていた時に参考にしていた資料の多くはとっちゃんさんの書き込みだった様な気がします。


あら?そんなに書き込みしてるつもりはないんですけどねぇ...


_________________
// とっちゃん(高萩 俊行)@わんくま同盟
// とっちゃん’Blog
// MS-MVP for Developer Tools - Visual C++
// WindowsInstallerの話題はhttp://www.freeml.com/msiまで
Npara
会議室デビュー日: 2006/02/06
投稿数: 13
お住まい・勤務地: 福岡市
投稿日時: 2006-02-13 15:17
お世話になっております、Nparaです。

お陰で基本的な処理はなんとか組み込む事ができました。
有難うございます

ですが、現在も解決できていない問題があるのです(^^;
またまたお力添えお願いしたいです。

インストーラーの処理の内部でSQLServerをインストールしたいのですが
良い方法が見つかりません。

1:Batファイルを起動してSQLServerインストール
2:再起動
3:Batファイルを起動してDB/TABLE作成

現在、以上のような流れをイメージして作業を進めていたのですが、
Batファイルの起動方法がわからずに振り出しに戻ってしまいました(^^;
アドバイスやご指摘等頂けると幸いです。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-13 15:57
引用:

Nparaさんの書き込み (2006-02-13 15:17) より:

インストーラーの処理の内部でSQLServerをインストールしたいのですが
良い方法が見つかりません。


クライアントではなく、そのものを?
これって、ライセンス上の問題にならないかな。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Npara
会議室デビュー日: 2006/02/06
投稿数: 13
お住まい・勤務地: 福岡市
投稿日時: 2006-02-13 16:44
じゃんぬねっと様

返信有難うございます。

言われてみればそのような気がしてきました

アプリケーションに必要な物に挙がっていたのでインストーラーに組み込まなければならないものという認識になってしまっていたようです。
思えばMSDNのHPにもSQLServerが入っている事を前提とした説明しか載っていなかった気がします
SQLServerに関してはもう一度メンバーと話し合ってみようと思います。
危ない所でした・・・アドバイス有難うございました
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-02-13 16:46
SQL Server をインストールしないと、クライアントから DB が扱えないというわけじゃないですからね。
普通はセットアップ プロジェクトだけを作成します。(^^)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)