У меня возникли проблемы с использованием макросов в моем .inf-файле, который я использую для создания моей кабины, особенно при настройке строки InstallDir
. Если я сделаю что-то вроде этого:Ошибка установки файла cab на Windows CE
InstallDir=\<PathToProgramFiles>\MyAppName
тогда все работает нормально. Однако, если я делаю это:
InstallDir=%CE1%\MyAppName
тогда я получаю следующее сообщение об ошибке при попытке установить кабину (дважды нажав на моем устройстве): «MyAppName не был успешно установлен Пожалуйста, запустите программу установки еще раз.»
Это похоже только на встроенные макросы. Я без проблем могу использовать %AppName%
. Может быть, есть какой-то параметр реестра, который неправильно установлен, который обычно разрешает макрос %CE1%
?
Любые идеи о том, что происходит?
Редактировать: Мое устройство не имеет каталога \Program Files
. Кажется, что макрос %CE1%
всегда разрешает этот путь, и если InstallDir
, указанный в inf-файле, не существует (за исключением последней части каталога, тогда установка завершилась неудачно. В ручном создании \Program Files
исправлена проблема. Поскольку многие устройства Я работаю с разными путями для своего каталога Program Files, есть ли общий способ установить установщик по умолчанию в фактический файл Program Files? Я полагаю, что мой единственный другой вариант - не указывать путь и принуждать пользователя выбирать один?
Спасибо за информацию. Я думаю, что моя проблема заключается в том, что в конечном счете макросы, как они определены, предназначены для использования в целях локализации, а не для поиска реального пути (например, SHGetSpecialFolder()). Я думаю, что мне в конечном итоге придется создать собственный установщик, который правильно справится с этими различиями. Он не похож на настраиваемую DLL-конфигурацию, которая позволит мне настроить путь установки ... – Jason