2010/10/03

access2010 access2007 Runtimeのセキュリティアラートのこと

最近確かめた事があるのでメモ。

Runtimeを使用しaccessアプリケーションを配布したとき、起動時に表示されるセキュリティに関する通知を表示させない方法。製品版で表示されるセキュリティ警告も同じ。

リンクテーブル作成時についてはこっち

1.パッケージソリューションを使用する。
ウィザードを使用すると必要な設定をしてくれるので、簡易で確実にできる。アプリケーションアンインストールで書き込まれたレジストリを消してくれる。但し、2010のウィザードについてはレジストリ設定が間違っているので修正/追加する必要がある。詳細1 詳細2 まとめ
 
2.レジストリを手作業で変更する。

RegEditでレジストリを編集し、信頼できる場所を設定する。
HKEY_CURRENT_USERに登録すればカレントユーザに、HKEY_LOCAL_MACHINEに登録すればマシン全体に影響する。警告自体を出さない方法もあるけど、セキュリティ的にどうなんですか?と。

3.Runtimeでセキュリティセンターの設定を使用
2007であれば、Runtimeであっても[Accessのオプション]を使うことができる。但し、Office2007がインストールされていること。2010はダメだった。

CommandBars.FindControl(1, 3627).Execute を実行。
DoCmd.RunCommand acCmdStartupProperties ってのもあったことをつい先ほど発見

なんかこの落書きへのアクセスがやたら多い、、、。項番3についての落書きは、ここにも。

4.インストーラを自作する
まぁ、あんまりコストをかけたくないから、フリーのツールだとWiXとか。開発製品持ってるならそっちでインストールプロジェクトをこさえる。その時にレジストリを追加。

5.実行時に追加する
Win32API使ったコードで実行時に追加する。ただし、HKCU。そんでもって不要になったときの削除をどうするか考えておく。



http://www.accessribbon.de/en/?Trust_Center:Trusted_Locations
登録だけなら、ここでToolを提供してくれてるから使えばいいんじゃね?使ったことないけど。

<access2007>
ユーザ/HKCU
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\Trusted Locations\{UniqueStrings}

マシン全体/HKLM
32bitOS
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access\Security\Trusted Locations\{UniqueStrings}

64bitOS
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\12.0\Access\Security\Trusted Locations\{UniqueStrings}

<access2010>
ユーザ/HKCU
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\{UniqueStrings}

マシン全体/HKLM
32bitOS+Office2010(x86) / 64bitOS + Office2010(x64)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access\Security\Trusted Locations\{UniqueStrings}

64bitOS + Office2010(x86)
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Access\Security\Trusted Locations\{UniqueStrings}

※64bitOSとしたけど、Win7でしか確認してない。

<共通 必要なキー>
文字列 : Path  ディレクトリ文字列 ex. C:\Users\hogehoge\documents\

<共通 サブフォルダを含める場合>
DWORD : AllowSubfolders  1

VLであれば、Office Customize ToolでOffice展開時に設定できるっぽい。

ランタイム
runtime
セキュリティ警告
セキュリティに関する通知

2 件のコメント:

匿名 さんのコメント...

大変参考になります。

1.パッケージソリューションの詳細1
を拝見し、実際操作してみましたが、
アプリケーションパーツのところにtoolが表示されて
なく、実際最終までテストができませんでした。

評価版は表示されないのでしょうか

MukkuMuku さんのコメント...

コメントがあると記事が表示されない件 対応完了、そして再コメント

アプリケーションパーツは関係ない。

信頼できる場所として登録するレジストリキーは重複させられないから、
アプリケーションパーツで生成したGUIDを使用したということ。

Software\Microsoft\Office\14.0\Access\Security\Trusted Locations\[ProductCode]
とすればよいかと。