Я добавил некоторые пользовательские действия в наш установщик, который работает на CE5 и WM6.Этот установщик работает нормально и прекрасно работает.Однако есть одно раздражение.Файл setup.dll развернут на устройстве, и этот файл не требуется.
Я прочитал несколько веб-сайтов о создании файла setup.dll, MSDN и даже мобильного SDK.Все они устанавливают один и тот же набор шагов.
- Создайте свой проект C ++ dll.
- Убедитесь, что вывод называется setup.dll.
- В вашем проекте CAB щелкнитев CE Setup DLL перейдите в папку приложения, добавьте вывод и выберите ваш проект установки.(Вы не можете выбрать локальный каталог, это всегда каталог на целевом компьютере)
Теперь это работает и производит специальный установщик кабины.Однако, как уже упоминалось, файл setup.dll копируется в папку приложения, даже если он не требуется после установки (даже для удаления)
Я попытался исключить файл setup.dll, установив для параметра exclude значение true вего свойства.Все это не включает в себя файл a all, поэтому отсутствуют файлы cab, которые нужно создать как файл setup.dll.
Поэтому единственное решение, к которому я пришел, - это вручную изменить cab .inf файл с
[DefaultInstall]
CEShortcuts=Shortcuts
AddReg=RegKeys
CopyFiles=Files.Common1,Files.Common2,Files.Common3,Files.Common4
CESetupDLL="Setup.dll"
до
[DefaultInstall]
CEShortcuts=Shortcuts
AddReg=RegKeys
CopyFiles=Files.Common1,Files.Common2,Files.Common3
CESetupDLL="Setup.dll"
Где Files.Common4 локально указывает на файл setup.dll на компьютере.Это изменение означает, что оно используется для создания CAB-файла, но файл не копируется.
Есть ли какие-либо изменения в Visual Studio или это всегда будет ручное редактирование INF-файла и ручная сборка CAB-файла с помощью cabwiz.exe?