2013年8月18日

Microsoft Access 2010のパッケージソリューションの作り方

 最近、MS Accessでアプリケーションを作成してほしいという依頼があって作ることは簡単にできるんですが、セットアップをどう簡単にしようかと考えてました。

 一番ラクなのは、ドキュメントベースでこの手順でセットアップしてくださいと書くことです。
もっとラクにするためにセットアップを作ることにしました。

 MS Access2010って作ったものをパッケージしてインストーラとしてまとめてくれる機能があるんですよね。とっても便利です。

 あまり、高度なことはできませんが、以下のことはやってくれるようです(自分調べ)。
  • デスクトップにショートカットを作る。
  • ショートカットのアイコンが指定できる。
  • スタートメニューにショートカットを作る。
  • 一緒にインストールするファイルを指定できる。
  • AccessのSecurityのレジストリにインストールしたフォルダを登録してくれる
    →これをしないと毎回、実行していいの?って聞かれる。
  • Access2010のランタイムのインストールをしてくれる。
    →ランタイムを指定しておくとやってくれます。

ポイント1

[セキュリティのレジストリは、以下のように設定します。
「追加レジストリ キー」を設定するところがあります。


  • ルート:すべてのユーザー
    他にも、
  • キー:Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\[任意の名前]
    [任意の名前]には、例えばシステムの名前とかでも良いと思います。実際にレジストリを見るとLocation0とか書いてありますが、これらと重複しなければOKです。
  • 名前:Path
  • 値:[DATABASEDIR]
    [DATABASEDIR]と書いておけば、ルートインストール フォルダーとインストールサブフォルダーで指定したフォルダが自動設定されます。

ポイント2

Accessランタイムのサービスパックのインストールも同時にさせる。
パッケージソリューションでは、Accessのランタイムを指定しインストールさせることができます。
 合わせて、AccessのServicePacke1や2または、その他のインストールも同時にしたい場合、できあがったパッケージのSetup.iniを編集してやることでセットアップのプロセスに組み込むことができます。
Setup.iniは、セットアップのルート\Files\Setup\Setup.iniにあります。

では、編集方法。
 Accessのランタイムをインストールするようにしておくと、「[ChainedInstall_1]」という記述を見つけることができます。これは、AcceccRuntime.exeをインストールするためのものなのでそのままにしておきます。
例えば、AccessRuntimeのサービスパック2(accessrtsp2010-kb2687444-fullfile-x86-ja-jp.exe)を同時にインストールしたい場合は、以下のように記述を追加します。


  1. [ChainedInstall_2]
  2. TaskName=Access Runtime SP2 Setup 
  3. TaskType=exe
  4. Path=\Files\accessrtsp2010-kb2687444-fullfile-x86-ja-jp.exe
  5. IgnoreReturnValue=0
  6. ;cmdline=/passive


1行目は、AccessRuntimeは、「ChainedInstall_1」なので「ChainedInstall_2」にします。
2行目は、このセットアップは何かをわかりやすい名前を書きます
3行目は、実行するファイルの拡張子を書くようです。(msi形式の場合は、msi)
4行目は、実際に実行するファイルのパスを指定します。
AccessRuntime.exeが配置してあるパスにしておくのが無難だと思います。
5行目は、多分、Ignoreなのでセットアップが無効(失敗とか)だった時の戻り値だと思います。0であれば、何もなかったように次に進みます。
6行目は、不要です。実際にセットアップされるファイルへの引数だと思います。今回は不要です。


 これで、Accessランタイムベースのアプリケーションのインストールがラクになると思います。
ポイントしか書いていませんので、実際にやってみてください。

0 件のコメント:

コメントを投稿