Мое приложение Win32 требует установки расширения Windows Explorer Shell.
Я использовал Desktop App Converter для создания AppX для своего приложения. Но конвертер проигнорировал расширение оболочки, установленное устаревшим установщиком приложения.
Хотя он захватил Classes\Directory\shellex
ключ для Registry.dat
, ключевые записи указывают на CLSID, который не был захвачен. И даже если он захватил указанный CLSID, он указывает на путь, по которому устаревший установщик устанавливает приложение, а не на реальное место, где будет установлен AppX.
Подумывал зарегистрировать расширение самим приложением при первом запуске. Но место установки в C:\Program Files\WindowsApps
имеет ограниченные разрешения, поэтому regsvr32
не выполняется.
Не удалось загрузить модуль C: \ Program Files \ WindowsApps \ WinSCP_5.14.0.0_x86__2dz6xbp7ps3z2 \ DragExt64.dll.
Убедитесь, что двоичный файл хранится по указанному пути, или выполните отладку, чтобы проверить наличие проблем с двоичными или зависимыми файлами .DLL.
В доступе отказано.
Однако разрешения позволяют копировать файл в другое место. Так что я мог скопировать .dll, например, в профиль пользователя (C:\Users\...
) и зарегистрировать его оттуда. Но это оставит .dll позади, когда AppX будет удален.
Есть ли лучшее решение?