Можно ли установить 32-разрядную версию .NET Framework Client Profile на 64-разрядный ПК / ОС? - PullRequest
2 голосов
/ 27 октября 2010

В основном я спрашиваю об этом, потому что я не хочу распространять обе версии, и если мне нужно установить 64-битный .NET на x64 ПК и 32-битный .NET на 32-битный ПК, то мне нужно будет сделать эту проверку в моем приложении загрузчика, чтобы загрузить правильную версию для правильного ПК.

Однако, если я просто сделаю один для всех, было бы проще - и я просто хотел бы знать, есть ли что-то, что я должен знать, прежде чем делать это (то есть: какие-либо последствия?) Или все хорошо?

Кроме того, когда я компилирую exe-файл в 64-битной версии VS2010, он компилирует 32-битный exe по умолчанию или 64-битный? Я предполагаю 32, но просто хотел убедиться.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 27 октября 2010

Если вы выбираете AnyCPU для своей компиляции, приложение будет работать как 64-битное в 64-битной ОС и 32-битное в 32-битной ОС.Если вы нацелены на x86, приложение будет работать как 32-битное независимо от ОС.Если вы ориентируетесь на x64, приложение будет работать только на 64-битной ОС.

64-битная версия .Net также включает 32-битные DLL.

Если вам нужно установить среду выполнения из Интернета,затем используйте веб-установщик .Он позаботится о загрузке и установке правильной версии на клиенте.Таким образом, вы можете настроить таргетинг на AnyCPU (или x86) и быть уверенным, что приложение будет работать независимо от операционной системы.

Если вам нужно упаковать .Net в ваше приложение, загрузите полный файл, который имеет 32/64-битныйвключены версии - http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe

Веб-установка профиля клиента

Полная установка профиля клиента

Установка в режиме без вывода сообщений может быть выполнена с помощьюпараметр /q, и вы можете также добавить /norestart и выполнить перезагрузку самостоятельно, если это необходимо.

Ознакомьтесь с этим сообщением в блоге и документацией MSDN на какие переключатели имеются.

3 голосов
/ 27 октября 2010

Загрузчик .NET автоматически устанавливает как 32-разрядную, так и 64-разрядную версии .NET Framework на компьютер с 64-разрядной операционной системой. Вам ничего не нужно делать, чтобы сказать это. Избегайте распространения платформы .NET самостоятельно, вам будет сложно следить за обновлениями безопасности. Просто отметьте опцию в Предварительных условиях проекта установки, чтобы получить загрузчик, который будет загружать последнюю и лучшую версию во время установки на целевой компьютер, если это необходимо. Этот параметр автоматически отмечается при создании установщика для управляемой программы.

64-разрядной версии VS2010 не существует, об этом не нужно беспокоиться.

Параметр «Цель платформы» на вкладке «Проект + Свойства», «Сборка» для вашего EXE-проекта имеет значение. По умолчанию это x86 в проекте, который был создан с нуля в VS2010. Нет веской причины менять его на AnyCPU для сборки выпуска, если только вам не нужно дополнительное пространство виртуальной памяти, которое может предоставить 64-битный процесс. Если вы измените его, обязательно тщательно его протестируйте. Я знаю, что вы работали с неуправляемыми COM-серверами, x86, вероятно, является жестким требованием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...