Access Runtimeってどうやって使うの？


#まとめ
Accessはランタイム版でデータベースを配布することができる。
ランタイム版とはフォームのデザイン等ができなくなった制限版である。このためナビゲーションパネルが表示されない。ユーザーが作成する必要がある。
ランタイム版を作成する前の注意書きは事実上mdeからaccdbへ移行する場合とかなり共通している。
Accessが入っていない人はMSからランタイムをダウンロードするとよい。
ランタイム版は作成したAccessと同じバージョンのランタイムがよい。
accdbのランタイム版の拡張子はaccdeである。しかしaccdrもある。なんだかよくわからないが、普通に作成できるのがaccdeなので、accdeととりあえず理解する。
またそのバージョンのAccessを持っていれば、Runtimeから普通のaccdbに戻せるため、セキュリティは強くない。（ただしマクロに電子署名をした場合どうなるかはここの記述では不明。
またパッケージ版はWindows Installer 5.0がWindows10に対応していないので無理そう。

#Access アプリケーションを展開する
Access for Office 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007
https://support.office.com/ja-jp/article/access-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E5%B1%95%E9%96%8B%E3%81%99%E3%82%8B-7bb4f2ba-30ee-458c-a673-102dc34bf14f#bm1
Access では、データベース アプリケーションを開発するために、機能豊富なプラットフォームが提供されています。 データベース アプリケーションと呼ばれるコンピューター プログラムでは、データと、ビジネス タスクのロジック (アプリケーション ロジック) に従うユーザー インターフェイスの両方を、保存および管理する方法が提供されています。 この記事では、基本的な展開計画、パッケージ化と署名、データベースアプリケーションの展開、 Access ランタイム環境について説明します。


##展開を計画する

###始める前に、アプリケーションを展開する方法に関する次の質問に答えてください。
####Q.データとロジックを分ける必要がありますか?

データの管理とアプリケーションのロジックが 1 つのファイルに結合された Access アプリケーションを作成できます。 Access ではこれが既定のアプリケーション構造です。 1つのファイルにデータ管理とアプリケーションロジックを組み合わせることで、最も簡単な配置方法が提供されますが、この方法は、複数のユーザーが同時にアプリケーションを使用する場合にのみ機能し、いくつかのリスクが伴います。 たとえば、ユーザーが誤ってアプリケーション ファイルを削除したり破損したりすると、データが失われる可能性があります。 ほとんどの場合は、データの管理とアプリケーションのロジックを分離する必要があります。 これにより、パフォーマンスと信頼性が向上します。

データとロジックを分離する方法の 1 つは、[Access データベース] コマンド ([データベース ツール] タブの [データの移動] グループ) を使用することです。 このコマンドでは、データベースアプリケーションを2つの Access ファイルに分割します。1つは論理 (フロントエンド)、もう1つはデータ用 (バックエンド) です。 たとえば、MySolution という名前のデータベースは、と MySolution_be という2つのファイルに分割されます。 バックエンドデータベースは、ネットワークフォルダーなどの共有の場所に配置します。 フロントエンドファイル (各ユーザー用の1つのコピー) をコンピューターに配布します。 さまざまなフロントエンドファイルをさまざまなユーザーに配布することもできます。 詳細については、「 Access データベースを分割する」を参照してください。

データ管理とアプリケーション ロジックを分離するもう 1 つの方法は、データの管理にはデータベース サーバー プログラム (Microsoft SQL Server など) を使用し、アプリケーションのロジックには Access を使用することです。 詳細については、「 Access データベースを SQL Server に移行する」を参照してください。

データとロジックを分離するその他の理由には、次のようなものがあります。

#####データの整合性とセキュリティ

 - データとロジックを 1 つのファイルにまとめた場合、データはアプリケーション ロジックと同じリスクにさらされます。 別々のロジックとデータファイルを使う Access アプリケーションは、ネットワークフォルダーでNTFSセキュリティ機能を利用することで、データの整合性とセキュリティを保護するのに役立ちます。
 - Access ユーザーは、フロントエンドファイルが配置されているフォルダーの読み取り、書き込み、作成、削除のアクセス許可を持っている必要があります。 ただし、フロントエンドファイル自体にさまざまなアクセス許可を割り当てることができます。 たとえば、一部のユーザーに読み取り専用のアクセス許可を割り当て、他のユーザーに対して読み取り/書き込みアクセス許可を付与することができます。
 - アプリケーションには、特定のデータにアクセスできるユーザーを制御する機能など、さらにセキュリティ オプションが必要な場合があります。 この場合、SQL Server または SharePoint を使用して、アプリケーションデータの保存と管理を行い、Access を使ってアプリケーションロジックを提供することができます。

#####拡張性

 - Access ファイルに許される最大サイズは 2 ギガバイト (GB) です。 テキスト データの 2 GB はかなりの量ですが、アプリケーションによっては十分ではない可能性があります。データベース レコードに添付ファイルを格納しているアプリケーションでは特にそうです。 データとロジックを分離した場合、アプリケーションはより多くのデータに対応できるようになります。 ユーザーが大量のデータを格納することが予想される場合は、複数の Access データ ファイルの使用を検討できます。
   また、Access プログラムの仕様で拡張性についての他の情報を確認する必要もあります。 Access 仕様の詳細については、「 Access の仕様」を参照してください。

#####ネットワーク キャパシティ
 複数のユーザーがネットワーク経由で同時にアプリケーションを使用することが必要な場合は、データとロジックが 1 つのファイルにまとめられていると、データの破損が発生する可能性が高くなります。 さらに、データとロジックを 1 つの Access ファイルにまとめた場合、Access によって生成されるネットワーク トラフィックを最適化することができません。 複数のユーザーがネットワーク経由でアプリケーションを同時に使用する場合は、複数の Access ファイルを使用することにより、またはデータにはデータベース サーバー製品を使用し、アプリケーション ロジックには Access を使用することにより、データとロジックを分離する必要があります。

####Q.どのようなネットワーク環境ですか?

ネットワーク環境に適切な Access データベースソリューションを選ぶことは、成功を導くための重要な手順です。 次のガイドラインを使用して、ニーズに合わせて最適な選択を行うことができます。

#####A.ホームネットワーク

複数のユーザーが Access データベースを共有できるようにしている場合は、各ユーザーがホームネットワークで開いて使用する単一のデータベースを使用できます。 詳細については、「 Windows 10 でネットワーク経由でファイルを共有する」を参照してください。

#####A.ローカルエリアネットワーク (LAN)

LAN は、通常は優れたパフォーマンスを備えていますが、1つの部屋、建物、建物のグループなど、狭い地理的な地域に限定されている内部ネットワークです。 複数のユーザーが LAN でデータベースを共有している場合は、データベースを分割して、バックエンドデータベースをネットワークフォルダーに保存し、各ユーザーのフロントエンドデータベースのコピーを展開することをお勧めします。

#####A.ワイドエリアネットワーク (WAN)

WAN にはさまざまな構成があり、地理的に広い地域をカバーしています。 パブリックネットワーク、専用回線、または衛星に接続されている都市のオフィスが複数存在する可能性があります。 多くの場合、仮想プライベートネットワーク (VPN) は、自宅または外出先からの安全なリモートアクセスに使用されます。 WAN を理解する簡単な方法は、LAN の外側にいて接続されていても、WAN を使用していることです。

警告    パフォーマンスが低下し、データベースが壊れる可能性があるため、WAN では Access の分割データベースを使用しないようにします。

######WAN で Access を使用するには、次の3つの方法がサポートされています。

 - SharePoint リストにリンクされたテーブルを含む Access データベース。
 - バックエンドの SQL Server データベースまたは Azure SQL へのフロントエンドの Access データベース接続。
 - リモートデスクトップサービス (RDS) (以前はターミナルサーバーとも呼ばれます)。これにより、ユーザーのクライアントコンピューターに仮想 Windows デスクトップ環境が作成されます。 RDS にはいくつかの利点があります。
   - ユーザーが多くのデバイスで利用可能なリモートデスクトップ (RD) クライアントを実行している場合は、Access または Access データベースのインストールは必要ありません。
   - RD はユーザーインターフェイスだけを効率的にストリーム配信するシンクライアントであるため、クライアントとサーバーの間でデータ転送が最小化されます。
   - ユーザーは、クライアントコンピューターからローカルでデータをコピーして貼り付け、レポートをローカルに印刷することができます
   - RemoteApp は、ベンダーや frontline 員向けのターンターンアプリケーションなどの1つのプログラムで実行できます。

    詳細については、「リモートデスクトップサービスへようこそ」を参照してください。

####Q.ユーザーは Access を持っていますか?

すべてのユーザーのコンピューターに Access がインストールされている場合は、他の Access データベース ファイルと同じようにアプリケーションを開いて使用できます。

一部またはすべてのユーザーがコンピューターに Access インストールされていない場合は、アプリケーションを展開するときに、これらのユーザーに Access ランタイムソフトウェアを展開することもできます。 詳細については、「 Access ランタイムを理解してダウンロードする」を参照してください。


###Access アプリケーションを展開するには、次のタスクを実行する必要があります。
####データベースをアプリケーションソリューションとして準備する
ソリューションをロックダウンし、ナビゲーションとスタートアップをコントロールし、その他の重要なオプションを設定するには、次の操作を行います。

編注：ここで重要なのはナヴィゲーションバーが表示されないことと、以前のツールバーが表示されず、それを作成する必要がある。（ランタイムで表示されないのは後記

|タスク|詳細情報 |
|:---|:----|
|ユーザーインターフェイスを操作する方法を決定します。既定のフォームの使用、スイッチボードの作成、ナビゲーションフォームの使用、ハイパーリンクとコマンドボタンの使用などを行います。| Access データベースを開いたときに表示される既定のフォームを設定する<br>ナビゲーション フォームを作成する<br>ナビゲーション ウィンドウをカスタマイズする<br>オブジェクトタブの表示と非表示を切り替える<br>おすすめの Access テンプレート<br>メニュー フォームが表示されない <br>|
|Office のリボンとコマンドメニューをカスタマイズするかどうかを決定する| Access でユーザー設定のリボンを作成する <br>マクロを使用してカスタム メニューおよびショートカット メニューを作成する <br>以前のバージョンの Access のカスタムツールバーとスタートアップ設定を使用する  <br>|
|データベースの起動を制御する| カスタム タイトルまたはカスタム アイコンをデータベースに追加する<br>データベースを開いたときに起動オプションを省略する<br>データベースを開いたときに実行されるマクロを作成する<br>Microsoft Office 製品のコマンド ライン スイッチ|
|地域設定を変更する|Windows の地域の設定を変更して一部のデータ型の外観を変更する |

このほか
一貫した Office テーマと背景を適用する
重要なプロパティとオプションを設定する(カスタムプロパティを設定するなど）
ヒント    詳細については、[ Access のオプション] ダイアログボックス ([ファイル>オプション]) を参照して、各タブの [ヘルプ] をクリックします。 アプリケーションソリューションを制御するその他のオプションがあります。

##展開する前に

フロントエンドデータベースを展開する前に、次のベストプラクティスを検討してください。

 - ソリューションのパフォーマンスを最大限に引き出すために努力してください。 詳細については、「 access の実行速度を向上させる」および「 [Microsoft access のパフォーマンスに関するヒント(fmsincという英語のサイト)](http://www.fmsinc.com/MicrosoftAccess/Performance.html) 」を参照してください。 access データベースを高速化します。
 - データベースの最適化と修復を行います。 詳細については、「データベースを最適化/修復する」を参照してください。
 - データベースをバックアップして、元のデータベースと安全なコピーを作成します。 詳細については、「バックアップと復元によってデータを保護する」を参照してください。
 - データベース構造の解析を使用して、データベースオブジェクトのデザイン特性を印刷します。 詳細については、「データベースデザインを文書化して印刷する」を参照してください。
 - ファイルをセキュリティで保護する方法を決定します。 次のいくつかの方法を実行できます。
   - データベースにセキュリティ証明書を追加します。 詳細については、「デジタル署名を追加して信頼を表示する」と「[データベースを信頼するかどうかを決定する](https://support.office.com/ja-jp/article/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%82%92%E4%BF%A1%E9%A0%BC%E3%81%99%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E6%B1%BA%E5%AE%9A%E3%81%99%E3%82%8B-828ce4e9-1f38-4f4b-89c4-81bb0fcda8a4)  」を参照してください。 この操作を行う場合、データベースのメッセージバーの制御方法を決定します。 詳細については、「メッセージバーのセキュリティの警告を有効または無効にする」を参照してください。
   - セキュリティセンターによってチェックされないようにするため、または保護ビューで開く必要がない場合は、信頼できる場所を使用してフロントエンドデータベースを保存します。 詳細については、「信頼できる場所を追加、削除、または変更する」を参照してください。
   - データベースファイルを暗号化します。 詳細については、「データベースパスワードを使用してデータベースを暗号化する」を参照してください。
   - ユーザーがフォーム、レポート、または VBA コードのデザインを変更できないようにするには、コンパイル済みのバイナリファイル (.accde) を使うことを検討してください。

##使用するファイル形式を決定する
アプリケーションを展開するときは、4 種類の Access ファイル形式を使用できます。
###.accdb
これは、Access の既定のファイル形式です。 この形式でアプリケーションを展開すると、ユーザーには、選択したあらゆる方法でアプリケーションをカスタマイズしたり、アプリケーション内を移動したりする、ほとんどのオプションが提供されます。 ユーザーがアプリケーションのデザインを変更できないようにする場合は、.accde ファイル形式を使用する必要があります。 さらに、.accdb ファイルではそれがパッケージ化された後で変更されたかどうかをユーザーは簡単に特定できないため、それがはっきりとわかるようにするには、.accdc ファイル形式を使用します。
###.accde    
この形式は、コンパイル済みバイナリ ファイルとも呼ばれます。 Access でのコンパイル済みバイナリ ファイルは、すべての VBA コードがコンパイルされて保存されているデータベース アプリケーション ファイルです。 Access のコンパイル済みバイナリ ファイルには VBA のソース コードは残っていません。 .Accde ファイルを使用すると、設計とコードの変更を防ぐことができ、データベースのサイズが小さくなり、パフォーマンスが向上します。 詳細については、「ユーザーに VBA コードを非表示にする」を参照してください。
Access のコンパイル済みバイナリ ファイルは、Access Runtime を使用して開くことができます。 ファイル名の拡張子が指定されていない場合は、実行時を指すショートカットを作成してバイナリファイルを開き、そのショートカットで開くコンパイル済みのバイナリファイルのパスを指定します。
<b>大事な   以前のバージョンの Access では、以前のバージョンで追加された機能がサポートされていない場合、コンパイル済みのバイナリファイルを開くことができません。 この問題を解決するには、ユーザーがインストールした Access バージョンでバイナリファイルをコンパイルします。</B>
###.accdc    
この形式は、Access 展開ファイルとも呼ばれます。 Access 展開ファイルは、アプリケーション ファイルと、そのファイルに関連付けられているデジタル署名で構成されます。 このファイル形式では、それがパッケージ化された後で誰もアプリケーション ファイルを変更していないことが、ユーザーに対して保証されます。 ***この形式は、既定の形式の Access ファイル (.accdb)、または Access のコンパイル済みバイナリ ファイル(.accde) に対して、適用できます。*** 詳細については、「デジタル署名を追加して信頼を表示する」を参照してください。
  ***Access 展開ファイルに含めることができるアプリケーション ファイルは 1 つだけです。*** アプリケーションでデータ ファイルとロジック ファイルが分かれている場合は、個別にパッケージ化できます。
###.accdr    
この形式では、ランタイム モードで開くアプリケーションを展開できます。 ランタイム アプリケーションを展開すると、アプリケーションが使用される方法を制御できますが、それはアプリケーションを保護するための手段ではありません。 ランタイム モードの詳細については、「Access Runtime について理解する」を参照してください。
##Access ランタイムを理解してダウンロードする(ACCESSをもっていない人のみ）
ユーザーのコンピューターに Access をインストールせずに実行できる Access アプリケーションを展開するには、Microsoft ダウンロードセンターから無料で利用できる Access ランタイムと共に配布することができます。 Access Runtime を使用して Access データベースを開くと、データベースはランタイム モードで開きます。
※これは実際に展開している例のリンク先を参照した方がよい
***ランタイム モードは、Access の特定の機能が既定で利用できなくなっている Access の動作モードです。*** ただし、このような使用できない機能の一部は、ランタイム モードで使用可能にすることができます。
####補足
たとえばVBAが使えない場合はレジストリを編集する

>２．Accessマクロセキュリティの設定
　　そのままで、ＭＫ工房のソフトを起動すると、下記の「セキュリティ警告」が表示されます。
　　警告メッセージの解除の方法を説明します。
http://www.mkkobo.com/runtime/runtime06.htm

##分割されたデータベースを採用した場合の方法：Access フロントエンドデータベースをインストールしてアップグレードする
分割されたデータベース設計を採用する場合は、フロントエンドデータベースを各ユーザーに配布する必要があります。 作業をスムーズに進めるために、次のベストプラクティスを検討してください
パッケージには１つのデータベースしか入らないためこの方法はパッケージでは使えない。
###Version 64/32
各ユーザーが適切なバージョンの Access を使用していて、フロントエンドデータベースが正しいバージョンで開くことを確認します。 Access には、32ビットバージョンと64ビットバージョンもあります。 
###パッケージの作成というウソ
データベースドライバー、セットアップと構成のバッチファイル、アプリケーション関連ファイルなど、必要になる可能性があるその他のファイルのインストールパッケージを作成します。
###ショートカット
Windows デスクトップショートカットを提供して、ユーザーが簡単に Access ソリューションを実行できるようにします。 (略) 
###更新が必要なときに
フロントエンドデータベースを再配置および交換する有効な方法を決定し、変更を追跡するためのファイルのバージョンを管理します。(略) 
###接続文字列を含む DSN ファイルを使用
接続文字列を含む DSN ファイルを使用して ODBC 接続を作成する場合は、各クライアントコンピューターにも DSN ファイルをインストールする必要があります。 もう1つの方法は、DSN ファイルの必要性をなくすために、VBA コードに "DSN レス" 接続を作成することです。
Using DSN-Less Connections http://www.accessmvp.com/DJSteele/DSNLessLinks.html
##ランタイム モードで使用できない機能

Access の以下の機能は、ランタイム モードでは使用できません。

###特殊キー
データベースの起動オプションを省略するには、Ctrl + Break、Ctrl + G、Shift キーなどのキーを使用します。

###ナビゲーション ウィンドウ(重要 ユーザーが作る必要がある）
ナビゲーション ウィンドウはランタイム モードでは使用できません。 これは、データベース アプリケーションの任意のオブジェクトにユーザーがアクセスするのを防ぐのに役立ちます。 ユーザーに公開するオブジェクト (ナビゲーションフォームなど) だけが、ランタイムモードを使って開くことができます。 ランタイム モードでは、ナビゲーション ウィンドウを使用できるようにすることはできません。

###リボン    (独自に作れるというが、実際は困難で無理）
既定では、リボンをランタイム モードで使用することはできません。 これにより、ユーザーがデータベース オブジェクトを作成または変更すること、および新しいデータ ソースへの接続や意図されていない方法でのデータのエクスポートなどの他の潜在的に危険な操作を実行することを、防ぐことができます。 ランタイム モードで既定のリボン タブを公開することはできません。 ただし、ユーザー設定のリボンを作成して、そのリボンをフォームまたはレポートに関連付けることはできます。 詳細については、「 Access でカスタムリボンを作成する」を参照してください。

###デザイン ビューとレイアウト ビュー(ランタイムは改変を防ぐ目的もあるので無理）
ランタイム モードでは、すべてのデータベース オブジェクトに対してデザイン ビューとレイアウト ビューを使用できません。 これは、データベース アプリケーションでのオブジェクトのデザインをユーザーが変更するのを防ぐのに役立ちます。 ランタイム モードでは、デザイン ビューまたはレイアウト ビューを有効にすることはできません。

###ヘルプ(独自に作れるというが、実際は困難で無理）
 既定では、統合されたヘルプをランタイム モードで使用することはできません。 ランタイム モードのアプリケーションで使用できる機能は管理者が制御するので、Access の統合された標準ヘルプの中には、***アプリケーションを使用するユーザーには関係ないものが存在し、ユーザーに混乱や不満を感じさせる可能性がある場合があります。***（編注：こじつけとしか言いようがない） 独自のカスタムヘルプファイルを作成して、ランタイムモードアプリケーションを補完することができます。

##ランタイムモードをシミュレートする方法
Access の完全バージョンがインストールされているコンピューターであれば、すべての Access データベースをランタイム モードで実行できます。 Access データベースをランタイム モードで実行するには、次のいずれかの操作を行います。

 1. データベース ファイルのファイル名拡張子を、.accdb から .accdr に変更します。
 2. /Runtimeコマンドラインスイッチでデータベースへのショートカットを作成します。
 3. Windows デスクトップで右クリックし、[新しい>ショートカット] を選択します。
 4. Msaccess.exe の場所、データベースの場所、 /runtimeコマンドの修飾子を入力します。 
 5. 例:"C:\Program Files\Microsoft Office\MSACCESS.EXE" "C:\MyDB.accdb" /runtime

詳細については、「 Office プログラムまたはファイルへのデスクトップショートカットを作成する」を参照してください。

###公式のランタイムのシミュレーション方法はうまくいかない
これは配布先ではショートカットを作ってもらって起動するためこのような記載なのだろうが、いかんせん迂遠だ。
しかも例と書き換えがあっていない。
ただしくはまずエクスプローラー画面でパスを取得する。
シフトを押しながら右クリックまたはシフトを押しながらF10だ。パスのコピー。
そしてWindows key + R
`msaccess.exe ` と入力し(半角スペースまで入れること)
コピーしたパスを貼りつけ
さらに半角スペースを空けて
` /runtime`
と入力する。


##ランタイム モードではデータベースのセキュリティが強化されない
ランタイム モードでは利用できるナビゲーション機能とデザイン機能が制限されますが、データベース アプリケーションを保護する主な手段としてランタイム モードを使用してはいけません。(略)完全バージョンの Access がインストールされているコンピューターにアプリケーションを転送し、ランタイム データベース アプリケーションを通常のデータベース アプリケーションとして開くことができます。
##Access Runtime をダウンロードする(Access2019 Office365版あり）
Microsoft ダウンロード センターから Access Runtime をダウンロードするには、お使いのバージョンに該当する以下のリンクをクリックしてください。
Office 365 Access Runtime をダウンロードしてインストールする
注    この Access ランタイムは、Access 2019 にも適用されます。
(略)
##インストールパッケージを作成する
Access のバージョンによって、実行できるいくつかの方法があります。
###一般的なインストールパッケージ (Access 2013 以降) を使用する（ウソ）
Access バージョン2013以降では、 Windows インストーラーを使うか、インストールパッケージを作成するサードパーティプログラムを検索することができます。
https://docs.microsoft.com/en-us/windows/desktop/Msi/windows-installer-portal
現在の最新バージョンは5.0だ
しかし
What's New in Windows Installer 5.0
https://docs.microsoft.com/en-us/windows/win32/msi/what-s-new-in-windows-installer-5-0
The information in this topic identifies the additions and changes that are available in Windows Installer 5.0.

Windows Installer 5.0 is available for Microsoft Windows 7 and Windows Server 2008 R2. For a complete list of all Windows Installer versions and redistributables, see Released Versions of Windows Installer.

This page is provided as a guide to the documentation. You should refer to the Requirements section on the main reference pages to determine the actual operating system requirements. Parts of the Windows Installer that are not linked to from this page may be available in another version of the Windows Installer. For information about other Windows Installer versions, see What's New in Windows Installer.
このトピックの情報は、Windows Installer 5.0で利用可能な追加および変更を識別します。

Windows Installer 5.0は、Microsoft Windows 7およびWindows Server 2008 R2で使用できます。 Windowsインストーラーのすべてのバージョンと再配布可能ファイルの完全なリストについては、Windowsインストーラーのリリースバージョンを参照してください。

このページは、ドキュメントのガイドとして提供されています。 メインリファレンスページの「要件」セクションを参照して、実際のオペレーティングシステム要件を確認する必要があります。 このページからリンクされていないWindowsインストーラーの部分は、Windowsインストーラーの別のバージョンで利用できる場合があります。 他のバージョンのWindowsインストーラーについては、「Windowsインストーラーの新機能」を参照してください。

###Access のデータベースをパッケージ化して署名する (Access 2007 および 2010)

Access 2007 または2010では、データベースの署名と配布がより簡単かつ速くなりました。 .accdb ファイルまたは .accde ファイルを作成した後、ファイルをパッケージ化し、パッケージにデジタル署名を適用して、署名したパッケージを他のユーザーに配布できます。 パッケージ化と署名の機能を使用すると、データベースが Access 展開 (.accdc) ファイルに格納され、パッケージに署名された後、コード署名済みパッケージがユーザーのコンピューター上の管理者が指定した場所に格納されます。 その後、ユーザーは格納されたパッケージからデータベースを抽出し、パッケージ ファイル内ではなくデータベース内で直接作業できます。 詳細については、「パッケージソリューションウィザードの概要」を参照してください。
注: このセクションで説明する機能により、Access ファイルがパッケージ化され、ファイルが信頼できることをユーザーに示すのに役立つデジタル署名がパッケージに適用されます。
###Access2007/Access2010パッケージの作成と署名を行うときは、以下の点に注意してください。

 - データベースをパッケージ化して、パッケージに署名するのは、信頼できることを伝える 1 つの方法です。 管理者またはユーザーがパッケージを受け取ったとき、データベースが改ざんされていないことを署名によって確認できます。 作成者を信頼できる場合は、コンテンツを有効にすることができます。
 - パッケージ化と署名機能は、.accdb ファイル形式で保存されたデータベースにのみ適用されます
 - 1 つのパッケージに追加できるデータベース ファイルは、1 つだけです。
 - データベースをパッケージ化して署名すると、マクロまたはコード モジュールだけでなく、データベース ファイル内のすべてのオブジェクトがコード署名されます。 パッケージ化と署名のプロセスでは、ダウンロード時間を短縮するためにパッケージの圧縮も行われます。
 - データベースがパッケージから抽出されると、署名されたパッケージと抽出されたデータベースは、まったく関連性のないものになります
 - 自己署名証明書を使ってデータベース パッケージに署名し、そのパッケージを開くときに [発行元からのコンテンツを常に信頼する] をクリックすると、その署名者の自己署名証明書を使って署名されたパッケージが常に信頼されるようになります。
 - 信頼できる場所にデータベースを抽出した場合は、そのデータベースを開くと、常にそのコンテンツが自動的に有効になります。 信頼できる場所以外を選択した場合は、既定で、一部のデータベース コンテンツが無効になることがあります。

以降のセクションでは、署名済みパッケージ ファイルを作成する方法と、署名済みパッケージ ファイル内のデータベースを使用する方法を説明します。 これらの手順を完了するには、少なくとも 1 つのセキュリティ証明書が必要です。 コンピューターに証明書をインストールしていない場合は、Selfcert.exe ツールを使用して証明書を作成するか、商用証明書を取得することができます。 セキュリティ証明書の詳細については、「デジタル署名を追加して信頼を表示する」を参照してください。

###署名済みパッケージを作成する

 1. パッケージ化して署名するデータベースを開きます。
 2. [ファイル] タブをクリックし、[名前を付けて保存] をクリックします。
 3. [データベース ファイルの種類] で [パッケージ化と署名] をクリックし、[名前を付けて保存] をクリックします。
 4. [証明書の選択] ダイアログ ボックスで、デジタル証明書を選択し、[OK] をクリックします。
 5. [Microsoft Office Access 署名済みパッケージの作成] ダイアログ ボックスが表示されます。
 6. [保存先] リストで、署名済みデータベース パッケージを保存する場所を選びます。
 7. [ファイル名] ボックスに署名済みパッケージの名前を入力して、[作成] をクリックします。
 8. .accdc ファイルが作成され、選択した場所に保存されます。

###署名済みパッケージを抽出して使用する

 1. [ファイル]、[開く] の順にクリックします。
 2. [開く] ダイアログ ボックスで、ファイルの種類として [Microsoft Office Access 署名済みパッケージ (*.accdc)] を選択します。
 3. [検索先] リストで、.accdc ファイルが格納されているフォルダーに移動し、ファイルを選択して [開く] をクリックします。
 4. 次のいずれかの操作を行います。


展開パッケージに適用されたデジタル証明書を信頼することを選択した場合は、[データベースの抽出] ダイアログ ボックスが表示されます。 手順 5 に進みます。

デジタル証明書を信頼することを選択していない場合は、アドバイザリ メッセージが表示されます。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/126919/ebaef803-49e7-b55b-da4b-8b752129d7d4.png)
***編注:日頃は図はちゃんとソースにあたることを前提にして省略しているのだが、あまりにひどいので紹介。
これはいったい何語？？よくみると英語でもなさそうだ。***

データベースを信頼する場合は、[開く] をクリックします。 特定のプロバイダーの証明書をすべて信頼する場合は、[発行元からのコンテンツを常に信頼する] をクリックします。 [データベースの抽出] ダイアログ ボックスが表示されます。


5.必要に応じて、[保存先] リストで、抽出されたデータベースの保存場所を選び、[ファイル名] ボックスにその抽出されたデータベース用に別の名前を入力します。

証明書を信頼するかどうか不確かな場合は、証明書の日付やその他の項目を調べて有効かどうかを確認する方法の概要が「デジタル署名の信頼性を確認する方法」に説明されているので、参照してください。
##デジタル署名を追加してデータベースが信頼できることを示す
https://support.office.com/ja-jp/article/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB%E7%BD%B2%E5%90%8D%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%97%E3%81%A6%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%81%8C%E4%BF%A1%E9%A0%BC%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E7%A4%BA%E3%81%99-5f4ebff3-360d-4b61-b2f8-ce0dfb53adf6
Access for Office 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007

データベースが安全であると判断し、データベースに デジタル署名 を追加して、そのコンテンツを信頼できることを示すことができます。 デジタル署名は、署名者がデータベース内のマクロやコード モジュールなどの実行可能なコンポーネントを作成し、データベースに署名した後、それらが変更されていないことを証明します。 これにより、データベースを使用するユーザーは、そのデータベースとそのコンテンツを信頼するかどうかを決めることができます。 セキュリティ証明書は、デジタル署名に使用するペンとして、または自分だけが適用できるパラフィン封印と考えることができます。 デジタル署名を追加するには、商用のセキュリティ証明書を使用するか、独自に作成することができます。 データベースへのデジタル署名に使用するプロセスは、使用しているデータベースのバージョンによって異なります。
###セキュリティ証明書を取得する

セキュリティ証明書には、商用および自己署名の2種類があります。
####商用セキュリティ証明書を取得する
(略)「デジタル ID またはデジタル署名サービスを検索する」を参照してください。
>https://support.office.com/ja-jp/article/%e3%83%87%e3%82%b8%e3%82%bf%e3%83%ab-id-%e3%81%be%e3%81%9f%e3%81%af%e3%83%87%e3%82%b8%e3%82%bf%e3%83%ab%e7%bd%b2%e5%90%8d%e3%81%ae%e3%82%b5%e3%83%bc%e3%83%93%e3%82%b9%e3%82%92%e6%8e%a2%e3%81%99-b06cfc76-56a1-4a74-b2dd-91a55de79cdf?ui=ja-JP&rs=ja-JP&ad=JP
使用するためにデジタル Id を発行するサービスや、Office を補い、デジタル Id を使用するサービスを見つけるには、次の web サイトを参照してください。 どちらを選んだか、またはこの一覧に含まれていない他のユーザーが利用できるようになっていますが、これらはデジタル証明書を発行する資格がある証明機関 (Ca) です。
Globalsign GlobalSign のデジタル署名の詳細については、 globalsign の web サイトを参照してください。
https://www.globalsign.com/digital_certificate/personalsign/microsoft_office.htm
IdenTrust IdenTrust の TrustID のセキュリティで保護されたメール証明書の詳細については、 IdenTrust の web サイトを参照してください。
注:デジタル署名は、カスタマイズ可能なあいさつ文であるメッセージの署名とは異なります。 デジタル署名では、真の送信者が保持しているデジタル ID からしか得られない固有のコードが、メッセージに付加されます。
独自のポリシーと、デジタル ID と証明書を使用した手順を組織で運用している場合があります。 詳細については、ネットワーク管理者に問い合わせてください。


####自己署名証明書を作成する
分の組織内で使用するためにデータベースを個人向けまたは制限付きのワークグループシナリオで使用する場合は、Microsoft Office に付属の Selfcert.exe ツールを使用してデジタル証明書を作成できます。
 実行可能ファイル ( selfcert.exe) を見つける必要があります。また、32ビットまたは64ビットの Windows オペレーティングシステムを使っている場合や、Office 365 を使用している場合など、さまざまな条件によって場所が異なることがあります。
 1. Microsoft Office プログラムファイルが保存されているフォルダーを参照します。
 2. 適切なフォルダーを見つけて、[ selfcert.exe] をダブルクリックします。
 3. [デジタル証明書の作成] ダイアログ ボックスが表示されます。
 4. [証明書の名前] ボックスに、新しいテスト証明書の名前を入力します。
 5. [OK] を 2 回クリックします　***編注：この時は何も起きないが、あとのデジタル署名を開き選択画面に進むと表示される***
###Access 2007 または Access 2010 データベースにデジタル署名する
Access 2007 または Access 2010 の場合、簡単かつ高速にデータベースの署名と配布を行うことができます。 ファイルをパッケージ化し、デジタル署名をパッケージに適用して、署名されたパッケージを他のユーザーに配布することができます。 パッケージと署名の機能では、データベースが Access 展開 (accdc) ファイルに配置され、ファイルに署名され、署名されたパッケージが指定した場所に配置されます。 その後、ユーザーは格納されたパッケージからデータベースを抽出し、パッケージ ファイル内ではなくデータベース内で直接作業できます。 詳細については、「 Access 2007 および2010データベースにパッケージ化して署名する」を参照してください。
###Access 2013 以降のデータベースにデジタル署名する

Access 2013 以降のデータベースでは、***データベースのコンポーネントに デジタル署名 を適用できます。 データベースにコード署名するには、次の操作を行います。***

 1. 署名するデータベースを開きます。
 2. [データベースツール] タブの [マクロ] グループで、[ visual basic ] をクリックして visual basic エディターを起動するか、ALT キーを押しながら F11 キーを押します。
 3. プロジェクト エクスプローラー ウィンドウで、署名するデータベース、つまり Visual Basic for Applications (VBA) プロジェクトを選びます。
 4. [ツール] メニューの [デジタル署名] をクリックします。
 5. [デジタル署名] ダイアログ ボックスが表示されます。
 6. [選択] をクリックして、テスト証明書を選びます。
 7. [証明書の選択] ダイアログ ボックスが表示されます。
 8. 適用する証明書を選びます。 詳細については、「セキュリティ証明書を取得する」を参照してください。
 9. 前のセクションで説明した手順を実行した場合は、SelfCert を使って作成した証明書を選びます。
 10. [ Ok ] をクリックして [証明書の選択] ダイアログボックスを閉じ、もう一度 [ ok ] をクリックして [デジタル署名] ダイアログボックスを閉じます。

ノート ソリューションのユーザーが誤って VBA プロジェクトを修正したり、署名が無効になったりするのを防ぐには、VBA プロジェクトをロックしてから署名します。 ただし、VBA プロジェクトをロックしても、別のユーザーがデジタル署名を別の署名に置き換えることはできません。 ***組織の管理者は、ユーザーのコンピューターで実行される処理を厳密に管理できるようにするため、テンプレートやアドインに再署名できます。***

#実際に展開して配布している例
Access Runtime(ランタイム)版 インストール について
（カードホックスBARIの使い方） 2019/03/24
https://access-cloud.hatenablog.com/entry/runtime_download