Где хранить настройки приложения, используемые совместно с x86 и x64 - PullRequest
0 голосов
/ 24 ноября 2010

мы готовимся к использованию Windows x64 для наших установок, но мы столкнулись с проблемой сохранения настроек приложения (пользователя и машины). В настоящее время мы храним их в реестре Windows - HKLM и HKCU ульи.

Проблема в том, что, возможно, будут и приложения x86, и приложения x64, а приложения x86 не смогут получить доступ к 64-разрядному реестру. Мы можем хранить все в 32-битном реестре (видимый как wow64 в приложении x64). Или мы можем сохранить настройки в компактной базе данных файла -sqlite или sql server, чтобы избежать опасности параллелизма.

У вас есть какой-нибудь совет? Если да, что это? :)

1 Ответ

1 голос
/ 24 ноября 2010

32-битные приложения могут получить доступ к 64-битному реестру. См. Аргумент REGSAM API, например RegOpenKeyEx

Также обратите внимание, что разделены только определенные области реестра, поэтому вам, возможно, не придется ничего делать, в зависимости от того, где что хранится.

Что касается того, следует ли вам использовать реестр или перейти на что-то совершенно другое, это довольно открытый вопрос. Если вы довольны реестром, отличным от этой проблемы с 64-разрядным, то я бы сказал, что придерживайтесь его и просто используйте аргументы REGSAM, чтобы явно указать на 64-разрядный реестр, если и как требуется. (Или наоборот, чтобы ваши 64-битные приложения выглядели в 32-битном реестре.)

...