QTで書かれたプログラムはうまくいきます。しかし、プログラムによってロードされたdllはbonjourを使用するため、dnssd.dllに間接的に依存します。ボンジュールは、プログラムを実行するマシンにインストールされていない場合には、dnssd.dllがあなたの コンピュータから欠落しているため、dll見つからないエラーメッセージの改善
プログラムが起動することはできませんと言うだろう。プログラムを再インストールして問題を解決してください。
このDLLはLoadLibrary
などで読み込まれません。バイナリをスタブにリンクするので、int main
の前に自動的にロードされます。
明らかにプログラムを再インストールしても問題は解決されません。私にとっては、bonjourをインストールする必要があるとはっきり言っていますが、ほとんどのユーザーにとっては、これは極端に秘密です。
このエラーメッセージは、「このアプリケーションを正しく動作させるためにBonjourをインストールする必要があります。ダウンロードするには[insert-url-here]」にアクセスしてください。
DLLがこれをロードしてより良いエラーメッセージを表示できないことを検出する方法はありますか?
なぜあなたはインストーラのBonjourの(あなたが使用しているインストーラの種類を知らなくても、どのように言うことができない)、または類似した何かをパッケージ化しませんか? –
いいアイデア。人々はそれが何であるか分からないので、アンインストールする傾向があります。また、それは面倒で、より複雑で壊れやすいインストーラを作成します。 Bonjourが既にインストールされていることを告げるまでにはかかります。 – vidstige
代わりに、もっと複雑で壊れやすいアプリケーションを好むでしょうか?優れたインストーラフレームワークは、これらの問題のほとんどに対して堅牢なソリューションを提供します。これは未解決の問題ではありません。 –