Gesucht: Workaround für PrintDocument Problem


Thomas Wölfer
Thomas Wölfer

03. Dezember 2006


Mein erstes (echtes) Problem unter Windows Vista: Der folgende Code funktioniert unter Vista x64 - aber nur, wenn man als Platform Target auch x64 verwendet. Verwendet man x86 als Target, gehts nicht mehr: Es werden dann keine der installierten Drucker gefunden, und die Sache wirft eine InvalidPrinterException.

PageSetupDialog dialog = new PageSetupDialog();
dialog.Document =
new PrintDocument();
dialog.ShowDialog();

Im Projekt (bzw: in der Solution) befindet sich nativer C++ Code der nicht ohne weiteres nach x64 portiert werden kann; ferner gibt es auch noch ein paar x86 Libraries von Dritten die ebenfalls nicht als x64 verfügbar sind. Mit anderne Worten: "Any CPU" als Target Platform ist keine Option. Unter XP x64 hat die Sache auch noch wunderbar funktioniert.

Vorschläge ?