Как запустить VB6 EXE от имени администратора программно?

У меня есть старое приложение, разработанное в VB6, теперь у меня есть некоторое дополнение (DLL как компонент) в C#, прикрепленное к нему, которое требовало прав администратора для записи реестра в 64-битных системах (Windows 8).

Если я запускаю свое приложение, щелкая правой кнопкой мыши "Запуск от имени администратора", программа работает нормально, и DLL записывает данные в реестр, но если я запускаю его как обычный пользовательский реестр, запись завершается неудачно.

Я знаю, если я добавлю значения реестра в HKLM...AppCompatFlags->Layers, это будет работать, но как добавить это значение программно или во время установки (сделано с помощью WISE 9)?

1 ответ

Решение

Обычно вы устанавливаете appcompat при установке, устанавливая базу данных appcompat. См. Application Compatibility Toolkit или текущую версию, если была опубликована новая. Также см. Развертывание баз данных совместимости приложений для Windows 7.

Однако гораздо более простое решение - просто вставить манифест приложения в вашу программу, которая запрашивает повышение прав.

Если вы не знаете об этом и о том, как это сделать, вы, должно быть, спите с 2006 года, однако поиск по таким веб-сайтам, как блоги MSDN, должен найти ответы на некоторые вопросы. Для подходов к кулинарной книге VB6 вы можете найти популярные форумы и сайты блогов VB6, которые, как правило, имеют гораздо более дружественный формат, чем Stackru, для учебных пособий и примеров.

Другие вопросы по тегам