こちらの話しに続きです。自分の作業の覚え書きです。二度とこんなAccessで迷わないように書いておきます。
Accessフォームでデータベースを作成しながら、あるサービスと連携しているシステムを使っているお客さんのトラブルの話しです。
私のほうでAccessで開発し実行ファイルを生成して、お客さんはAccess Runtime上で動かしています。お客さんから、警告のダイアログが出て、それ以上進まないと言われました。
私の方でもOfficeをインストールされていないWindows PCにAccess Runtimeをインストールしてテスト環境を作って同じように実行してみました。すると、以下のような警告のダイアログが表示されてきます。
開くボタンを押せば進んでAccessのフォーム画面に行くのですが、お客さんのほうでは違う警告ダイアログが表示されて、しかも開くボタンがないので、先にも進めずに手詰まり状態になっています。
まずは警告を消してみようと考えて、以下のサイトを参考にレジストリを変更してしまいます。バッチファイルはメールで添付できないので、テキストファイルにして送ります。
しかし、ここで問題が発生です。お客さんのエクスプローラーはデフォルトでしたので拡張子が見えません。しかないので、TeamviewerのQuickSupportをダウンロードしてもらって、こちらからリモートでお客さんのPCに入ります。こんなときはTeamviewerは便利です。
ただし、以上のサイトに記載されているバッチファイルは、一部足りない部分があって間違えていますので注意が必要です。
私の方のテスト環境では警告が出なくなりましたが、お客さんのほうでは状況は変わりません。
今度は、Access Runtimeの32ビット版を再インストールします。Officeが32ビットのはずなのに、以下のメッセージが出てきます。
Access Runtimeの64ビット版をインストールしようとしも、今度はOfficeが32ビットだからインストールできないと言ってきます。
そこで次のサイトにしたがってOffice 16 Click-to-Run Extensibility Component 64-bitをアンインストールしてみます。だんだん深みに嵌まっていく感じがします。
office 16 click-to-run extensibility component 64-bit をアンインストールする方法を教えてください。
Microsoft コミュニティ
今度は既にAccessをインストールしているからRuntimeはインストールできないと言ってきました。PCのスタートメニューをよく見るとAccessのアイコンがあります。だったら、Access Runtimeなんて最初からインストールしなくてもよかったというオチかと思ったら、このAccessはMicrosoft365の一部で、ライセンスを契約しないと動かないAccessでした。お客さんにもAccessをインストールしたか、そしてMicrosoft365を契約したかを聞いてみても、覚えがないと言っていました。どうして、Accessのアイコンが存在するか謎です。
Accessが契約していなくても存在している限り、Access Runtimeがインストールできないので、Accessをアンインストールを試みます。しかし、Accessだけをアンインストールすることを見つけることができません。
お客さんにお断りを入れて、Officeをアンインストールします。Microsoft Office Personalがインストールしていましたので、Microsoft Office PersonalではなくOfficeをアンインストールしてみます。すると、Microsoft Office Personalもアンインストールされたようで、Excel, Wordがなくなりました。最悪です。
お客さんにPCを購入したときに付いてきたMicrosoft Office のライセンス番号を探してもらいます。こちらは、Microsoft Officeのオンラインダウンロードを探します。これも後で嵌まった原因となります。
無事にランセンス番号を探してもらって、Microsoft Office PersonalをインストールしてExcel, Wordが元に戻りました。
しかし、今度はAccess Runtimeはインストールできません。クリック実行インストーラーでインストールしたOfficeにはAccess Runtimeはインストールできないなんて言ってきます。何を言っているのかわかりません。
この辺で詰んだと思いましたが、次のサイトを見つけます。
Access Runtimeは2016ではなくて2013なら、クリック実行インストーラーでインストールしたOfficeでもインストールできるそうです。おそらく、開発したAccessフォームは2016でも2013でも問題なく動くだろうとAccess Runtime 2013をダウンロードしてインストールしてみました。結果はうまくインストールできて、これでAccessのフォームも実行できます。
いろいろと問題が発生しましたが、ようやく解決でしました。
お客さんからは、もう面倒だからMicrosoft365のApps for businessを契約しましょうということになりました。そのとき、64ビットでインストールしてね、とお願いしました。これでAccessの32/64ビット問題がなくなります。なんていいお客さんなんだと思いました。
追記(2024年5月21日)
お客さんから64ビットのAccessを導入したとの連絡がありました。これで、32/64ビットを気にせずにAccessをサポートすることができます。
こちらも64ビットのAccessというか64ビットのMicrosoft365を再インストールしました。