Ошибка при установке 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, будьте осторожны, где вы размещаете файлы, как это может быть в файловой системе на основе ОЗУ, и после перезагрузки файлы исчезнут.

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