Ошибка при установке CAB-файла в Windows CE
У меня проблемы с использованием макросов в моем INF-файле, который я использую для создания своей кабины, особенно при настройке InstallDir
строка. Если я сделаю что-то вроде этого:
InstallDir=\<PathToProgramFiles>\MyAppName
тогда все работает нормально. Однако, если я сделаю это:
InstallDir=%CE1%\MyAppName
затем я получаю следующую ошибку при попытке установить кабину (дважды нажав ее на моем устройстве): "MyAppName не было успешно установлено. Пожалуйста, запустите программу установки снова".
Кажется, это относится только к встроенным макросам. я могу использовать %AppName%
без проблем. Может быть, есть некоторые параметры реестра, которые не установлены должным образом, которые обычно разрешают %CE1%
макрос?
Есть идеи о том, что происходит?
Изменить: мое устройство не имеет \Program Files
каталог. Кажется %CE1%
макрос всегда разрешает этот путь, и если InstallDir
указанный в файле inf не существует (за исключением последней части каталога, установка завершается неудачно. Создание вручную \Program Files
исправил проблему. Поскольку многие устройства, с которыми я работаю, имеют разные пути для своего каталога Program Files, существует ли общий способ заставить установщик по умолчанию установить каталог dir для Program Files? Я думаю, мой единственный другой вариант - не указывать путь и не заставлять пользователя выбирать его?
1 ответ
Во-первых, в этой ссылке вы можете найти ярлыки и их значение (%C..%), перейти к приложению B. Ссылка MSDN для Windows CE5.
Вы можете добавить Setup Dll в ваш установщик CAB, который проверит структуру каталогов и создаст папку, если она не существует. Этот вопрос может оказаться полезным.
Предупреждение: если вы нацеливаетесь на обычные устройства Windows CE, будьте осторожны, где вы размещаете файлы, как это может быть в файловой системе на основе ОЗУ, и после перезагрузки файлы исчезнут.