У нас есть приложение, которое хранит свои файлы базы данных в подпапке каталога Program Files. Эти файлы перенаправляются в VirtualStore в Vista и Windows 7. Мы представляем данные из базы данных, используя Microsoft DataReports (VB6). Пока все хорошо.
Но теперь мы хотим использовать Crystal Reports XI для представления данных из базы данных. Наша идея состоит в том, чтобы НЕ передавать эти данные в CR из нашей программы, а чтобы CR извлекал их из базы данных, используя системный DSN через ODBC. Таким образом, мы надеемся предоставить нашим пользователям больше гибкости при составлении собственных отчетов. Однако мы хотим убедиться, что эти системные уведомления о доставке настроены правильно, когда пользователь устанавливает нашу программу или когда программа вызывает отчет Crystal Report.
Существует ли разумный способ сделать это с помощью системных переменных, например, вместо того, чтобы писать подпрограмму, которая проверяет версию ОС, включено ли UAC в ОС, сняты ли ограничения на запись в папке Program Files и т. Д. а затем настраивает системный DSN так, чтобы он указывал либо на папку C: \ Program Files \ OurApp \ Data, либо на папку C: \ Users \ User \ AppData \ VirtualStore \ Program Files \ OurApp \ Data?
Предложения по совершенно другому подходу тоже приветствуются!