Запуск приложения для сканирования на 64-разрядной машине через ClickOnce

Хорошо, вот моя установка.

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

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

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

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


person Martin Ongtangco    schedule 20.07.2010    source источник
comment
Любые подробности журнала сбоев (проверьте журнал событий)? Вы уверены, что это из-за платформы?   -  person Aseem Gautam    schedule 20.07.2010


Ответы (1)


Выберите «x86», и я уверен, что это сработает;

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

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

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

Надеюсь, это поможет!

person Kieren Johnstone    schedule 20.07.2010
comment
привет Кирен, я сделаю именно так, как вы предложили. спасибо, я сообщу вам, как только добьюсь успеха! - person Martin Ongtangco; 20.07.2010