いくつかの既存のツール
Access フロント エンドの展開ツールの一覧を次に示します。
あなたがリストしたものも役立つかもしれません。
導入に関する詳細情報
問題は、Access アプリケーションを更新する単一の方法がないことです。
お気づきのように、パッケージ化ツールは優れていますが、ソフトウェアの展開の最も重要で複雑な部分、つまり既存のインストールをどのように更新するかを実際には処理していません。
ここでは Access に良い話はありません。そのため、多くのカスタム ソリューションがあり、それぞれに欠点と利点があります。
どのような場合でも、コード、フォーム、およびレポートを含むフロントエンドから、テーブルのみを含むバックエンド データベースを分離する必要があるというあなたの意見は正しかったです。フロントエンドは各ユーザーに展開する必要があります。つまり、フロントエンドは 1 人のユーザーのみが使用することを意図したルールです。
優れたアップデータの内容
では、優れた更新ストーリーに必要な特性は何ですか。
ユーザーは何もする必要はありません。フロントエンドの新しいバージョンが利用可能になるとすぐに、自動的にユーザーに取得してもらいたいのです。
これは、フロントエンドが、ユーザーがログインしたり作業にスターを付けたりする前に、リモート フォルダーに利用可能な新しいバージョンがあるかどうかを確認できることを意味します。
バージョンが利用可能な場合、それがフェッチされてデプロイされます。
場合によっては、開発環境がユーザーの環境と異なる場合があるため (サーバー名が異なる、共有フォルダーが異なるなど)、フロントエンドのテーブルをバックエンドの正しいパスに再リンクする必要がある場合もあります。展開。
展開に使用しているもの
ここ数年、私はステッチなしで機能する独自のシステムを完成させてきました.
アプリケーションを直接起動する代わりに、ユーザーがアプリケーション アイコンをクリックすると、小さなランチャー アプリケーションが起動します。
私が使用するランチャーは、.Net で記述された単純なClick-Onceアプリケーション (自動更新が可能) です。
ランチャーは、メイン アプリケーションが 1 回だけ実行されることを保証し、更新が利用可能になったときに新しいバージョンをチェックして展開する (またはダウングレードする) ことも担当します。
更新は、新しい更新に必要なすべてのファイルを含む zip ファイルに簡単にパッケージ化されます。
ファイルの名前にはバージョン番号が含まれているmyAppFE-2013-08-01.zip
ため、クライアント パッケージのリストを名前で並べ替えると、最新のパッケージを簡単に選択できます。
これらのフロントエンド パッケージはすべて、サーバー上の共有フォルダーに保存されます。たとえば、バックエンド データベースが にある\\myServer\myApp\DB
場合、フロントエンド パッケージは に保持できます\\myServer\myApp\FE
。
ランチャーは、新しいパッケージが利用可能であることを検出すると、ユーザーのマシン上のフロントエンドの既存のフォルダーを削除し、代わりに新しいパッケージをそこに解凍します。
ランチャーがタスクを完了すると、アプリケーションのフロントエンドが起動されます。
アプリケーションのフロントエンドが初めて開始されるとき、テーブルが間違った場所を指している場合、テーブルを再リンクするためにさらにチェックを行うことができます。
ノート
新しいパッケージを検出する別の方法は、最新のパッケージのファイル名を含む小さなテキスト ファイルをサーバーに保持することです。
フロントエンドが開始されるたびに、実行中のパッケージ名がファイルにリストされているパッケージ名と同じかどうかを確認できます。そうでない場合は、アップグレード/ダウングレードが必要です。
このソリューションの利点の 1 つは、Access ランタイムがインストールされると、ユーザーは管理者権限を必要とせずにマシン上で通常のユーザー セッションで実行できることです。ユーザーの%APPDATA%
フォルダーの下のフロントエンドにアクセスする場合、フロントエンドを更新するために昇格された権限はまったく必要ありません。
初めてデプロイするとき、ランチャーはフロントエンド フォルダーの場所を信頼できる場所として登録し、Access が VBA/マクロを無効にせずに実行できるようにする必要があります。
これらは、簡単に追加できる一連のレジストリ キーですHKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\
(正確なレジストリ キーは、Office のバージョンと、32 ビット システムか 64 ビット システムかによって異なります)。