2010-07-20 3 views
3

Хорошо, вот моя настройка.Запуск приложения сканирования на 64-битной машине через ClickOnce

У меня есть приложение C#, прекрасно работающее на всех 32-разрядных машинах Windows XP-Vista-7. У меня уже есть Verisign PFX для поддержки развертывания ClickOnce и использует Atalasoft DotTwain 8.0 в качестве стороннего помощника сканера.

Когда я публикую свое приложение, я выбираю «Любой процессор» в качестве целевой платформы. Когда я пытаюсь запустить его на 64-битной домашней превью Windows 7, мое приложение аварийно завершает работу после установки.

Я попытался переиздать работу на определенной платформе x64, но все еще не удалось.

Любые идеи о том, что я делаю неправильно здесь? Большое спасибо ~!

+0

Любые данные журнала аварий (Проверить журнал событий)? Вы уверены, что это из-за платформы? –

ответ

7

Выберите «x86», и я готов поспорить, что это сработает;

У вас, скорее всего, есть ссылка «x86» (32-разрядная) в вашем проекте, например DotTwain. «Любой процессор» означает, что платформа .NET будет запускать его как «x64», потому что вы сказали, что все в порядке. Затем он пытается загрузить ссылку, находит ее 32-битной и дает «BadImageFormatException» (обычно).

Итак, вам нужна версия DotTwain, которая не была «ngen-ed», имеет ссылку на CPU «Any» или выпускает отдельную 64-битную версию, где все ваши ссылки определенно не являются установлен на «x86» (вам нужно «any» или «x64»).

(эта проблема все время, есть несколько приложений там, которые работают на 32-битной, 64-бит, и использовать DotTwain и другие компоненты Atalasoft)

Надежда, что помогает!

+0

hi kieren, плохо делайте точно так, как вы предполагали. спасибо, плохо обновите вас, как только я добьюсь успеха! –

+0

РАБОТАЕТ! Спасибо чувак! –