Если office и autocad являются чисто 64-битными, то, вероятно, не потому, что они будут 64-битными образами и, следовательно, не будут загружены в 32-битный процесс, и у вас возникла обратная проблема для ваших 32-битных.
У нас была похожая ситуация, и в итоге мы сделали нашу программу "anycpu" и предоставили еще одну маленькую программу, которая была 32-битной, чтобы общаться с 32-битными DLL, тогда, когда мы обнаружим (intptr.size = 4[32] or 8[64])
, если мы на 64-битной машине, то мы вызываем 32-битная программа (для связи с этими сторонними dll) и генерация какого-то вывода (в нашем случае мы написали небольшой XML-файл) и затем выход. Мы подождали завершения работы программы, затем прочитали файл и приняли меры к ответам.
На самом деле все сводится к тому, какая сторона программы имеет больше всего 64/32 и код в соответствии с этим.