インストーラの作成

解決


ローホ  2005-09-22 01:57:42  No: 125594

開発環境(OS:WinXP、言語:VB.NET、DB:MDB、帳票:JiveReport7.2)

ここ数ヶ月、初級者2〜3人で勉強しながら小規模なシステムを
作成していて1〜2度、当掲示板にもお世話になっております。
度々申し訳ありませんが、今回はインストーラについてお聞きします。

1.JiveReportについて
    JiveReportのマニュアル(作成したアプリの配布)をみると
    ・レポートライブラリ、プレビューコントロールのOCXはシステムディレクトリにコピーする。
    ・レポートライブラリ、プレビューコントロールのOCXはレジストリ登録する必要がある。
    とあるのですが(多少要約してます)
    インストーラにこれらの処理を組み込む事はできるんでしょうか?また後者については
    コマンドラインから実行するか、インストールツールを使用すると書いてあったんですが
    インストーラで設定できなければバッチファイルなどで対応するしかないんでしょうか?

2.インストール先について
    インストール処理内容として・・・
    開発アプリはユーザ指定のパスにインストールするがMDBは固定の場所として
    C:\SystemData(仮名)の配下にインストールされるようにする。
    といった指示が出ているんですが、MDBは含める追加ファイルで追加するとして
    そのファイルだけを特定のディレクトリへインストールする事は可能でしょうか?


ローホ  2005-09-22 02:23:15  No: 125595

1の
>レポートライブラリ、プレビューコントロールのOCXはシステムディレクトリにコピーする。

2の
>開発アプリはユーザ指定のパスにインストールするがMDBは固定の場所として
>C:\SystemData(仮名)の配下にインストールされるようにする。
は、デザイン画面の特別なフォルダの追加でシステムフォルダやカスタムフォルダを
追加すれば対応できる・・・んでしょうか?試してみます。

うまくいくようであればあとは
>レポートライブラリ、プレビューコントロールのOCXはレジストリ登録する必要がある。
なんですが


興味津々  2005-09-22 06:39:01  No: 125596

あっあの回答レスじゃなくてごめんなさい
私も初心者チームで社内向けの業務支援システムを作ってまして
同じくJiveReportで印刷物を作る予定なんで1の方に興味ありです
もしもローホさん自身で自己解決した場合でも報告レスを希望しますm(__)m


特攻隊長まるるう  2005-09-27 03:53:00  No: 125597

インストーラにも色々と種類があるので…
[DOBON.NET VBに適したインストーラを探そう]
http://dobon.net/vb/installer/index.html
『デプロイメント プロジェクト』というキーワードを使って頂けると
…回答者が安心できます(^^;)

通常、プログラム上で使用している(参照設定している)ActiveX コントロールは
http://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter5/chapter5_6.asp
セットアップ/デプロイメントプロジェクトでインストーラを作成すると
プロジェクトをビルドした段階で自動でインストーラに登録されます。
デフォルトではアプリケーションフォルダになるみたいだけど、Register
プロパティが COMSelfReg になっているのでそのままの設定でも自動登録
されそうな感じはします。
[Register プロパティ]
http://www.microsoft.com/japan/msdn/library/ja/vsintro7/html/vxgrfregisterproperty.asp

>    ・レポートライブラリ、プレビューコントロールのOCXはシステムディレクトリにコピーする。
あとはメーカー独自の都合があったりするから、
メーカー品はメーカーのサポートに聞くのが本筋かな。
http://www.jive-comp.co.jp/02jivereport/02faq/qa_support.html


ローホ  2005-09-28 22:45:31  No: 125598

連絡が遅くなり申し訳ありません。

特攻隊長まるるうさん
以前質問させてもらった時もお世話になりましたが度々有難うございます。

興味津々さん
>あっあの回答レスじゃなくてごめんなさい
いえ、気になさらないで下さい。
>もしもローホさん自身で自己解決した場合でも報告レスを希望しますm(__)m
報告レスですか…全てを書くのは大変なんで今現在でなんとなくうまくいってそうな分を書いてみますね。
長文になるかもしれませんが…

まず先に2の方ですが、
これはMDBやJiveReportフォームは、Cドライブの直下に作成する
"SystemData"(仮名)というフォルダ内に登録する予定みたいなんですが
それならインストール処理に一緒に組み込めれば……と考えてました。
試した内容は
・セットアップ/デプロイメントプロジェクトでセットアップウィザードを
  選択し、「含める追加ファイル」でMDB、JiveReportフォームを追加
・対象コンピュータ上のファイルシステムを右クリック→特別なフォルダ→
  カスタムフォルダを選択
・カスタムフォルダ内にフォルダを追加し(SystemDataにリネーム)その中に
  追加したファイルをセット
・あ、あとカスタムフォルダのDefaultLocationにc:\と入力しました。

次に1の方ですが
>・レポートライブラリ、プレビューコントロールのOCXはシステムディレクトリにコピーする。
の方は、上記のカスタムフォルダのように特別なフォルダ→システムフォルダを選択して
レポートライブラリとプレビューコントロールのOCXをセットしました。
>・レポートライブラリ、プレビューコントロールのOCXはレジストリ登録する必要がある。
の方は、未だによく分かりません。ただ特攻隊長まるるうさんのレスで貼って頂いた
1つ目のリンク先をたまたま私も見まして「1.VBのインストーラで必要な機能は何か」
の中の「4.OCXをレジストリに登録」の一番最後に
>OCXファイルを特別な場所に置かない限りインストーラにこの機能は必要ないようです。
と書かれていたので、試しにここまでの状態でビルドしました。

以上の内容でインストールテストした所とりあえずうまくインストールできてるみたいですが…
「とりあえず」「なんとなく」「試しに」の連続でたまたま動いたにすぎず、自分達の中で
しっかりと理解、認識して作れた訳ではないのでまだ解決とは言えそうもありません。
現に
>デフォルトではアプリケーションフォルダになるみたいだけど、Register
>プロパティが COMSelfReg になっているのでそのままの設定でも自動登録
>されそうな感じはします。
を参考にして、システムフォルダは削除してOCXはアプリケーションフォルダ
にセットしたままでテストしてみると、こちらもうまくインストールできましたし…

ちなみに今は「MDACの起動条件を追加するには」のところがよく分からず悩んでます。
データアクセスを含むアプリケーションを利用する場合に必要、とあるみたいですが
MDAC_typ.exeを追加しても、しなくてもインストールがうまくいってるみたいで
結局追加した方がいいのか…わるいのか等々…調査・勉強中です。


特攻隊長まるるう  2005-09-29 00:51:56  No: 125599

MDACに関しては過去ログ検索『MDAC』を実行して情報を
集めてみて下さい。既にインストールされている場合が多々
あります。そこにインストールすると上書きする場合がある
わけですが、この場合、自分のインストールしたプログラムは
動きますが、今までインストール先の端末にインストールされて
いた過去のMDACを利用していたソフトがバージョンの違いなどに
より動かなくなる事があります。

OCXに関しても似たような意味があって、例えば自作のOCX
など、インストールするアプリにしか使わず、もしアンインストール
する時はそのOCXも削除したい場合があります。
そんな場合はアプリケーションフォルダの方が適切かと思います。
逆に、他のアプリケーションからも使う場合はもっと共通して
使えるフォルダが良いですよね?そういった意味で
>    ・レポートライブラリ、プレビューコントロールのOCXはシステムディレクトリにコピーする。
だと思うんです。また、メーカー品であれば既にそのOCXが
登録されている場合も考えられますよね?そういった事も含めて
インストーラを作成しなくてはいけません。インストールする
必要が無いものについては、
[デプロイメント プロジェクトからの項目の除外]
http://www.microsoft.com/japan/msdn/library/ja/vsintro7/html/vbtskexcludingitemsfromdeploymentproject.asp
をします。

情報集めるなら『OCX システムディレクトリ』でWEB検索とか?
http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=30917

当然、アンインストール時に削除しない設定もあります。
[Permanent プロパティ]
http://www.microsoft.com/japan/msdn/library/ja/vsintro7/html/vxgrfpermanentproperty.asp
このあたりの設定できる項目には一通り目を通した方が良いよ。
チュートリアルもあります。
[チュートリアル : Windows アプリケーションの配置]
http://www.microsoft.com/japan/msdn/library/ja/vsintro7/html/vbtskcreatinginstallerforyourapplication.asp


ローホ  2005-09-29 22:09:31  No: 125600

特攻隊長まるるうさん有難うございます。

助言頂いたリンク先など一通り目を通し、自分達なりに色々と情報収集できたと思います。
"とりあえず"ではありますがそろそろ解決でいいかな?と思います。
すくなくとも作成したいインストーラの仕様なり方向性は定まってきました。

ちょっと余談
↑のレスを読ませてもらい、何故そうなるのか?どう考えれば良いのか?
といった、インストーラに限らず、開発全般を通してアプローチの仕方
みたいなものも学べたような気がします。
他の初心者の方々はどうか分かりませんが、自分達の場合は分からない事は
msdnなり書籍なりWEB検索なり読んではみますが、その中でまた知らない
キーワード(単語)が登場したりして結局壁にぶつかると
ぶつかりっぱなしな傾向があるようで…今後の課題です。

懲りずにまた質問してしまうかもしれませんが
その時は、お手数ですがよろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加