Суть следующая есть проэкт который должен выполняться как на сервере (64) так и на клиентских (32) машинах.
В проэкте используется сторонняя библиотека (имеются 2 версии для 32 и 64 бит).
Подскажите как программно определить какая винда установленна на компе 32 или 64 битная?
Искал на форуме нашел только на С++, мне это неподходит.
Re: Как определить разрядность операционной системы
Здравствуйте, _FRED_, Вы писали:
_FR>Здравствуйте, brash, Вы писали:
B>>Подскажите как программно определить какая винда установленна на компе 32 или 64 битная?
_FR>
IntPtr.SizeIntPtr.Size
_FR>
The size of a pointer or handle on this platform, measured in bytes. The value of this property is 4 on a 32-bit platform, and 8 on a 64-bit platform.
Здравствуйте, brash, Вы писали:
B>Суть следующая есть проэкт который должен выполняться как на сервере (64) так и на клиентских (32) машинах. B>В проэкте используется сторонняя библиотека (имеются 2 версии для 32 и 64 бит). B>Подскажите как программно определить какая винда установленна на компе 32 или 64 битная? B>Искал на форуме нашел только на С++, мне это неподходит.
Вопрос в догонку:
Как Вы решаете проблему распространения? Поясню, начальные условия управляемая сборка Managed.dll использует не управляемую lib.dll.
1. Таскать с собой не управляемые версии lib_x86.dll и lib_x64.dll при запуске программы в зависимости от версии ОС переименовывать соотвествующую lib_XXX.dll в lib.dll.
2. Использовать настройки студии (какие уточните пожалуйста) чтобы генерировался setup под разные версии ОС.
3. Ваш вариант?
Заранее благодарен.
... << RSDN@Home 1 alpha 4 rev. 0>>
Re[2]: Как определить разрядность операционной системы
Здравствуйте, Time, Вы писали:
T>Здравствуйте, brash, Вы писали:
B>>Суть следующая есть проэкт который должен выполняться как на сервере (64) так и на клиентских (32) машинах. B>>В проэкте используется сторонняя библиотека (имеются 2 версии для 32 и 64 бит). B>>Подскажите как программно определить какая винда установленна на компе 32 или 64 битная? B>>Искал на форуме нашел только на С++, мне это неподходит.
T>Вопрос в догонку: T>Как Вы решаете проблему распространения? Поясню, начальные условия управляемая сборка Managed.dll использует не управляемую lib.dll. T>1. Таскать с собой не управляемые версии lib_x86.dll и lib_x64.dll при запуске программы в зависимости от версии ОС переименовывать соотвествующую lib_XXX.dll в lib.dll. T>2. Использовать настройки студии (какие уточните пожалуйста) чтобы генерировался setup под разные версии ОС. T>3. Ваш вариант?
T>Заранее благодарен.
Так как по условию тз программа не должна устанавливаться, и установливается простым копированием, хочу попробовать таскать 2 дллки и в зависимости от версии ипользовать нужную версию файла.
Re[2]: Как определить разрядность операционной системы
От:
Аноним
Дата:
23.10.08 08:52
Оценка:
Здравствуйте, Time, Вы писали:
T>Вопрос в догонку: T>3. Ваш вариант?
Можно таскать с собой 2 длл, обернуть их в 2 имплементации CoreLogicX64Impl, CoreLogicX32Impl.
Везде в коде использовать интерфейс ICoreLogic ну и собственно при старте системы выбирать, предложенным выше способом, какую имплементацию использовать.
Re[2]: Как определить разрядность операционной системы
Здравствуйте, brash, Вы писали:
B>Здравствуйте, AK85, Вы писали:
AK>>Здравствуйте, Time, Вы писали:
T>>>3. Ваш вариант?
AK>>Поставить у managed-сборки Platform target: x86
B>для меня это неприемлимо, так как программа должна работать как на сервере так и у пользователей
Работать будет везде, это позволит таскать только 32-битную сторонюю длл-ку и это проще всего делать.
Re[5]: Как определить разрядность операционной системы
Здравствуйте, AK85, Вы писали:
AK>Здравствуйте, brash, Вы писали:
B>>Здравствуйте, AK85, Вы писали:
AK>>>Здравствуйте, Time, Вы писали:
T>>>>3. Ваш вариант?
AK>>>Поставить у managed-сборки Platform target: x86
B>>для меня это неприемлимо, так как программа должна работать как на сервере так и у пользователей
AK>Работать будет везде, это позволит таскать только 32-битную сторонюю длл-ку и это проще всего делать.