Для начала предистория. Внимание: проблема имеет корни в UIQ. Но вопрос я поставлю общий для UIQ3 и s60 3rd.
Инсталлятор в UIQ3 по умолчанию пытается запустить GUI приложения после установки. Если их несколько, то в диалоге будет позволено выбрать одно из них. Это уже не очень хорошо. Еще хуже если одно из приложений имеет hidden=KAppIsHidden. Мой SE P990i этот флаг игнорирует и включает программу в список потенциально запускаемых. В это же время SE W950i их исключает. При этом, не проверяя количество оставшихся. Т.о. при наличие только 2х скрытых приложений (с одним не проверял - лень), инсталлятор предложит на выбор 0 прилжений для запуска, и если вы нажмете да - отправит телефон на ребут.
Такой беспредел я позволить инсталлятору не могу. Известен один способ убрать приложение из потенциально запускаемых в UIQ. - зашить его во вложенный sis.
Т.о. я включил весь оригинальный sis в sis пустышку. После этого инсталлятор UIQ не предлагает запускать ничего и это меня устраивает. Проблема в том что в окне uninstall отображаются оба sis. Пустышка как и положена имеет 0 размер. Хотелось бы оставлять там только одну запись.
Вопрос. Реально ли сконфигурировать pkg файлы так, чтобы встраиваемый и основной sis файлы имели одну запись в uninstall'ере.
Вот что я думаю по этому поводу.
Единственный способ прицепится к уже существующей записи в uninstaller'е - использовать ключ TYPE=PU в заголовке pkg файла.
Мои эксперименты с ним ничего не дали.
Напомню телефон до инсталляции - чистый.
При попытке использовать PU в встроенном или основном pkg вылетает error "Обновляемый пакет не найден". Вне зависимости от PUID обоих sis файлов. При попытке дать им один PUID и типы SA, встраиваемый sis поставился, но был тут же удален sis пустышкой, т.к. в 3rd ed sis типа SA при обновлении заменяется.
Может я чего не вижу? У кого какие мысли?



Reply With Quote
.


