Я столкнулся с этой проблемой сегодня и нашел для меня решение, которое сработало здесь:
Итак, я подумал: хорошо, он достиг предела в 998 файлов, которые могли
быть упакованным в CAB ... Неправильно: проблема произошла также при использовании
гораздо меньше файлов, скажем, 300 ... Я все еще говорю о C: \ Program
Файлы \ Microsoft Visual Studio
9.0 \ SmartDevices \ SDK \ SDKTools \ CabWiz.exe, версия 4.0.4332.0.
После выполнения некоторых тестов я достиг магического числа: 262. С 262
файлы VS2008 могут успешно создать CAB-файл Smart Device с 263
файлы дали ошибку «x.inf содержит DirID, которые не поддерживаются».
В этот момент я заметил, что в файле .INF, который создает VS2008 и
дает CabWiz.exe, он написал запись под [DestinationDirs] для
каждый добавленный файл, даже если целевая папка на устройстве одинакова,
как это было в моем случае. Путем ручного редактирования INF (используя некоторые
приложения, которые автоматизировали создание линий ...), я мог успешно
создать CAB для 263+ файлов, указав только одну запись в
[DestinationDirs]. Итак, еще одно ограничение, о котором я не знал: VS2008
CabWiz может анализировать до 262 различных записей в [DestinationDirs].
Теперь: Windows Mobile 6 SDK поставляется с более новой версией CabWiz.exe,
v4.5.5102.0 и, что очень интересно, он преодолел не только
ограничение около 998 файлов, но также около 262 записей в
[DestinationDirs]. Таким образом, «простым» решением в этом случае было
загрузите один из 2 Windows Mobile 6 SDK и используйте этот CabWiz.exe
(C: \ Program Files \ Windows Mobile 6 SDK \ Tools \ CabWiz).