Ошибка при установке CAB-файла в Windows CE - PullRequest
2 голосов
/ 08 февраля 2010

У меня проблемы с использованием макросов в моем INF-файле, который я использую для создания моей кабины, особенно при установке строки InstallDir. Если я сделаю что-то вроде этого:

InstallDir=\<PathToProgramFiles>\MyAppName

тогда все отлично работает. Однако, если я сделаю это:

InstallDir=%CE1%\MyAppName

затем я получаю следующую ошибку при попытке установить кабину (дважды коснувшись ее на моем устройстве): «MyAppName не был успешно установлен. Пожалуйста, запустите программу установки снова.»

Это, кажется, относится только к встроенным макрос-строкам. Я могу использовать %AppName% без проблем. Может быть, есть некоторые параметры реестра, которые не установлены должным образом, что обычно разрешает макрос %CE1%?

Есть идеи о том, что происходит?

Редактировать: На моем устройстве нет каталога \Program Files. Кажется, макрос %CE1% всегда разрешает этот путь, и если InstallDir, указанный в inf-файле, не существует (за исключением последней части каталога, установка завершается неудачно. Создание \Program Files вручную устраняет проблему. Так как многие устройства, с которыми я работаю, имеют разные пути для своего каталога Program Files, существует ли общий способ заставить установщик по умолчанию установить действительный каталог Program Files? Полагаю, мой единственный вариант - не указывать путь и заставить пользователя выбрать один?

1 Ответ

1 голос
/ 09 февраля 2010

Во-первых, в этой ссылке вы можете найти ярлыки и их значение (% C ..%), перейти к приложению B. Ссылка Windows CE5 MSDN .

Вы можете добавить Setup Dll в ваш установщик CAB, который проверит структуру каталогов и создаст папку, если ее не существует. этот вопрос SO может оказаться полезным.

Предупреждение: Если вы ориентируетесь на обычные устройства Windows CE, будьте осторожны, где вы помещаете файлы, как это возможно, в файловую систему на основе ОЗУ, и после перезагрузки файлы исчезают.

...