Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.237.15.145] |
|
Сообщ.
#1
,
|
|
|
Пишу сюда, потому как работа вся происходит на сервере. Суть в том, что есть некий cab файл, который делает студия (2008), для установки на устройстве. Все отлично работает. Cab ставится, и все запускается. Но.
Необходимо при скачивании этого cab файла с сервера изменить в нем содержание одного XML файла. Для этого пытаюсь использовать библиотеку Microsoft.Deployment.Compression.Cab. Аналогично тому, как описано тут например. Т.е. сервер получает изначальный cab файл, распаковывает его, изменяет содержимое нужного файла, запаковывает распакованные файлы в cab обратно. Но этот новый cab не устанавливается на устройстве. И имеер меньший размер, чем оригинальный. Ну это ладно, допустим разная степерь сжатия. При установке на устройстве говорит "Installation of *.cab was unsuccessful". И все. Пробовал смотреть в папке "Application data/Volatie", ничего там нет. Вообще ничего, пустая. Пробовал запаковывать обратно тем же объектом, которым распаковывал (сначала делал разные). Запаковываю папку, в которую распаковывается. По файлам пробовать не стал, потому как внутри все равно папка первращается в список файлов. В чем может быть разница между тем cab файлом который делаю я и тем, который делает студия??? Код примерно такой: var unpackDir = Unpack(sessionFilename); ProcessDefaultSettings(Path.Combine(unpackDir, "DefaultSettings.xml")); var c = new CabInfo(sessionFilename); c.Pack(unpackDir); // var c2 = new CabInfo(Path.GetDirectoryName(sessionFilename) + "/NewCab.cab"); // c2.Pack(unpackDir); SessionFile это пусть к оригинальному cab файлу. Фнкция Unpack распаковывает его в unpackDir. ProcessDefaultSettings изменяет нужный Xml. Правда это тестовый варинат, и файл насамом деле там не так называется, студия его обзывает по своему. Но это назнвания можно в _setup.xml найти, котоырй внутри cab находится. Вобщем это не важно. Дальше я просто пробовал запаковывать тем же обхектом, который изначально связывается с оригинальным cab'ом. В общем, кто может знает, в чем у них разница? Почему cab который делает VS, устанавливается, а мой нет? Разницы, кроме размера, я у них не нашел. Cab студией НЕ подписывается. |
Сообщ.
#2
,
|
|
|
Может, спецы по моблиьникам вас спасут
|