■RSS■
■CALENDAR■
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31    
<<前月 2010年03月 次月>>
■NEW ENTRIES■
■CATEGORIES■
■コミュニケーション■
■ARCHIVES■
■ECO■
■POWERED BY■
■COUNTER■



■PROFILE■
す~(Suzuki)
適当なプログラムばっかりしか作れない若輩プログラマです。
りっぱなSE目指して色々とお勉強中

エントリの内容は個人的に収集、実験した結果を元にしております。
内容の正確性などは一切保証されませんので、予めご了承くださいm<__>m
また、もしどなたかの権利を侵害してしまっている恐れがある場合などはご連絡お願いします。
■LOGO■
ORACLE MASTER Bronze Oracle Database 10g
■OTHER■
  • 処理時間 6.9345秒
Windows Installerのカスタム動作用アセンブリを作る - その2
久しぶりに続き~
といってもInstallerクラスにメソッドをザッと書いただけですが汗

Installerクラスの雛形
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.ComponentModel;
  5. using System.Configuration.Install;
  6. namespace SetupExtension
  7. {
  8. [RunInstaller(true)]
  9. public partial class Installer1 : Installer
  10. {
  11. public override void Install(System.Collections.IDictionary stateSaver)
  12. {
  13. base.Install(stateSaver);
  14. }
  15. public override void Commit(IDictionary savedState)
  16. {
  17. base.Commit(savedState);
  18. }
  19. public override void Rollback(IDictionary savedState)
  20. {
  21. base.Rollback(savedState);
  22. }
  23. public override void Uninstall(IDictionary savedState)
  24. {
  25. base.Uninstall(savedState);
  26. }
  27. }
  28. }


次はCustomActionDataの使い方とかかなぁ

| http://www3.to/su-house/index.php?e=28 |
| プログラミング::インストーラー | 02:11 AM | comments (0) | trackback (0) |
Windows Installerのカスタム動作用アセンブリを作る - その1
Windows Installerに組み込むカスタム動作を実現する方法の1つに.NETアセンブリを使う方法があります。
というのは前に書いてました。で、今回はじゃあそれをどうやって作るのか。
アセンブリにはexeとdllがありますが、ここではdllの方を対象とします。

では作り方~
Visual Studioの新規プロジェクト作成用のダイアログを見てもそれらしいプロジェクトは見つかりません。。。
dllなので、クラスライブラリのプロジェクトを作成します。
勝手にクラスが1つ作成されていますが、今は要らないので削除して、変わりに「インストーラクラス」を追加します。
はい、これで準備完了。

クラスの追加しなおしまでしなくても、「Installer」クラスを継承するようにして、「RunInstaller」属性追加し、「true」を設定してやればそれでもO.K.
Installerクラスは「System.Configuration.Install.dll」に入ってます。なので、クラスを継承する前にこのアセンブリへの参照を追加しなくてはなりません。
このあたりが面倒なので、クラスを追加しなおしてしまうほうが楽チンでいいかなと。
[2009/07/26追記]
VB.NETには「インストーラークラス」がないみたいなので、普通のクラスの継承とか自分で書くしかないっぽいです。
「Installer」クラスの詳細はMSDNをご確認ください。

今回はここまで。次は実際にアクションとして動かす(呼び出される)メソッドを作っていきます。
(いったい何回に分けるつもりだろう。。。)

| http://www3.to/su-house/index.php?e=18 |
| プログラミング::インストーラー | 02:47 AM | comments (0) | trackback (0) |
Windows Installerのカスタム動作
非常に恥ずかしいことに、カスタム動作ってVBScriptしか使い方わからなかったんですよね。。。
カスタム動作の実態を選択するときに「実行可能ファイル」とあるからexeでもO.K.なのは容易に想像(というより書いてあるんだから認識かなぁ)できたものの、CustomActionDataをどうやって受け取るんだ?とか疑問があってそのままにしてました。

あと、VBScriptを使った場合にもなぞなところはあるんですけど。
スクリプト内でエラーがでてもそのままWindows Installerさんは処理を続行しちゃいますがーん
ただし、スクリプトそのものにエラーがある場合はインストールを中断してロールバックしてくれました。
例外が発生したときに終了コードを0以外にして終了させてみたり、あえて0にしてみたりしたんですけど、どれもハズレ。
こりゃきっとWindows Installerがカスタム動作(少なくともVBScript版では)内でエラーが起きても無視ってスタンスなんでしょう。

なんか長くなってきたのと、眠いので肝心のexeでってとこはまた今度で(ぇ

| http://www3.to/su-house/index.php?e=17 |
| プログラミング::インストーラー | 01:00 AM | comments (0) | trackback (0) |
Bootstrapperで.NET Frameworkのインストール。。。SPが当たってない - その2
どうやら定義ファイル(といっていいのかわかりませんが)を自分で作って、MicrosoftのWebサイトからSP適用版の再頒布パッケージをダウンロードしてって感じでブートストラッパを自分で作らなきゃできないっぽいです。

.NET Frameworkのインストール状況を判定するための条件とかを全部自分で作らなきゃならないってことなので、Windows XPとVistaとかでレジストリへの格納パスとかも変わってたらどう対処していいものやらわからないし、何より、そんな保証できないのでSPなしでもありでもまともに動作するアプリを作るってことで落ち着くしかないかもです。

| http://www3.to/su-house/index.php?e=16 |
| プログラミング::インストーラー | 10:26 PM | comments (0) | trackback (0) |
Bootstrapperで.NET Frameworkのインストール。。。SPが当たってない
Bootstrapperのおかげでで簡単に.NET Frameworkのインストールを伴うインストーラーを作れるのはとってもうれしいんですけど、
このBootstrapperでインストールできる.NET FrameworkにはService Packが適用されていないみたい。
どうせインストールするならSP適用版をインストールしてほしいところ。
どうにかできないものか対策を検討中。

| http://www3.to/su-house/index.php?e=15 |
| プログラミング::インストーラー | 06:28 PM | comments (0) | trackback (0) |
PAGE TOP ↑