シナリオ: WinForms デスクトップ アプリ、.Net 2.0
FoxIt PDF SDK ActiveX v5.0.1 を介して提示しているドキュメントを印刷できないユーザー ベースの 0.01% に問題があります。
ユーザーが「印刷」ボタンをクリックすると、ビューア コントロール インスタンスで PrintWithDialog() メソッドが呼び出されます。この時点で、アクセス違反の例外がスローされ、アプリケーションがハングします。印刷ダイアログは表示されません。それ以上のユーザー入力 (マウス、キーボード) はそれを生き返らせず、タスクマネージャーを介してプロセスを強制終了する必要があります。
例外スタック トレースは次のとおりです。
AccessViolationException - Attempted to read or write protected memory. This is
often an indication that other memory is corrupt.
at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at FoxitPDFSDKStdLib._DFoxitPDFSDK.PrintWithDialog()
at AxFoxitPDFSDKStdLib.AxFoxitPDFSDK.PrintWithDialog()
at MyCode.PDFToolBarButtonClick(Object sender, EventArgs e)
問題を再現することはできず、問題を再現するプロジェクトを提供することができないため、FoxIt は私たちを助けるために何もできないようです。
私の疑いは、Windows 7 と印刷設定のグループ ポリシー制御に向けられています。影響を受けるユーザーにデフォルトのプリンターを削除して再インストールするように依頼することにはある程度成功しましたが、1、2 日後に問題が再発しました。あるサイトには、カラーで印刷できるユーザーを制御するポリシー設定があり、プリンター (同じ物理デバイス) を別の方法でインストールします。
印刷に影響を与える Windows 7 またはグループ ポリシー設定を使用した経験のある人はいますか?
編集: この問題の影響を受けるのは FoxIt だけです。他のすべて - Acrobat、Word、メモ帳などは問題なく印刷されます。