Ошибки msi файлов
Очень часто ошибки появляются из-за недостаточных прав системы на файлы или папки. Нельзя сказать, что Windows Installer не работает, в этом случае достаточно просто добавить нужные права и всё заработает. Буквально вчера я столкнулся с тем, что скаченный дистрибутив.msi не захотел устанавливаться, при этом успешно запускается мастер установки, выбираются параметры, но затем система думает несколько секунд и выдаёт ошибку:
«Error reading from file «имя файла» verify that the file exists and that you can access it» (Error 1305). Переводится «Ошибка чтения из файла … проверьте существует ли файл и имеете ли вы к нему доступ». Ну не тупняк ли? Естественно, что кнопка «Повторить» не помогает, а отмена прекращает всю установку. Сообщение особой смысловой нагрузки также не несёт, т.к. файл точно существует и я имею к нему доступ, иначе бы просто не смог его запустить и получить это сообщение, к тому же почему-то на английском языке
А ошибка в том, что не Я должен иметь доступ к файлу, а установщик Windows, точнее сама Система. Решается очень просто:
Теперь ошибка установщика не появится! Можно добавить доступ на всю папку, из которой вы обычно инсталлируете программы, например на папку «Downloads», как у меня. Смотрим видео по решению проблем с правами доступа:
В Windows XP вкладки «Безопасность» не будет, если включён простой общий доступ к файлам. Чтобы его выключить, нужно зайти в «Пуск -> Панель управления -> Свойства папки -> Вид»
и выключить опцию «Использовать простой общий доступ к файлам». В урезанных версиях Windows 7/10 и XP вкладки «Безопасность» нет в принципе. Чтобы её увидеть, нужно и зайти в неё под администратором.
Ещё способы решить проблему
Описанный метод поможет при разных сообщениях, с разными номерами. Например, вы можете видеть такие ошибки файлов msi:
- Error 1723
- Internal Error 2203
- Системная ошибка 2147287035
- Ошибка «Невозможно открыть этот установочный пакет»
- Ошибка 1603: Во время установки произошла неустранимая ошибка
Во всех этих случаях должна помочь установка прав на файл и/или на некоторые системные папки. Проверьте, имеет ли доступ «система» к папке временных файлов (вы можете получать ошибку «Системе не удается открыть указанное устройство или файл»). Для этого:
После нажатия «Enter» путь преобразится на «нормальный» и вы переместитесь в реальную временную папку. Права на неё и надо проверять. Также рекомендую очистить временные папки от всего что там скопилось или даже лучше удалить их и создать новые с такими же названиями. Если не получается удалить папку, почитайте , но это не обязательно.
Если служба Windows Installer всё равно не хочет работать, то проверьте права на папку «C:\Config.Msi»
, сюда «система» также должна иметь полный доступ. В этом случае вы могли наблюдать ошибку «Error 1310». На всякий случай убедитесь, что к папке КУДА вы инсталлируете софт также есть все права.
Параметры реестра и службы
Следующий способ устранения ошибки – восстановление рабочих параметров в реестре установщика Windows Installer.
Для этого скачайте архив и запустите оттуда два reg-файла, соответственно своей версии Windows. Согласитесь с импортом настроек.
Важно! Перед последним действием желательно ! Если способ не поможет или станет хуже, вы сможете восстановиться до прежнего состояния. В Windows XP или Windows Server 2000 установите последнюю версию установщика 4.5
В Windows XP или Windows Server 2000 установите последнюю версию установщика 4.5.
Если не помогло, то проделайте ещё перерегистрацию компонентов:
- Нажмите «Win + R» и введите «cmd».
Затем в чёрном окне введите последовательно команды:MSIExec /unregister
MSIExec /regserver - В ответ должна быть пустота, никаких ошибок. Если проблема не решена, введите ещё командуregsvr32 msi.dll
- Закройте чёрное окно
Если пишет, что не хватает прав, то нужно запускать .
Если команды выполнились, но не помогло, то и запустите msi_error.bat из архива, проверьте результат.
Последний вариант — скачайте программу Kerish Doctor, там есть функция исправления работы службы установщика и многих других частых проблем Windows.
Также, многие программы используют.NET Framework, поэтому не будет лишним установить последнюю версию этого пакета. И, напоследок, ещё один совет: если в пути к файлу-дистрибутиву есть хоть одна папка с пробелом в начале названия, то удалите пробел. Такой простой приём решит вашу проблему
Админ-установки имеют множество применений
Рекомендуется узнать больше об установках администратора, поскольку это полезная концепция, и я написал сообщение о stackoverflow: Какова цель административной установки, инициированной с помощью msiexec / a?.
По сути, установка администратора важна для:
- Извлечение и проверка файлов установщика
- Чтобы получить представление о том, что на самом деле устанавливается и где
- Чтобы файлы выглядели надежными и безопасными (без вирусов — вредоносные программы и вирусы все еще могут скрываться внутри файла MSI)
- Развертывание с помощью программного обеспечения для управления системами (например, SCCM)
- Переупаковка корпоративного приложения
- Ремонт, модификация и самостоятельный ремонт
- Исправления и обновления
- Реклама MSI (среди прочего, это включает «бежать из источника»функция, в которой вы можете запускать прямо из общего сетевого ресурса и устанавливать только ярлыки и данные реестра)
- Ряд других мелких деталей
Пожалуйста, прочтите сообщение stackoverflow, указанное выше, для получения более подробной информации. Это довольно важная концепция для системные администраторы, упаковщики приложений, разработчики установки, релиз-менеджеры, и даже средний пользователь чтобы увидеть, что они устанавливают и т. д.
Как сделать MSI-пакет
1. Загрузите MSI Wrapper — программу, которая позволит Вам конвертировать exe в msi-пакет.
2. Установите программу, пройдя все этапы инсталляции.
3. Запустите файл MSI Wrapper.
В появившемся окне нажмите “Next”.
Укажите путь к файлу и путь к файлу *.msi.
Нажмите “Next”.
Сгенерируйте новый ключ для программ.
Для этого нажмите “Create New”.
После того, как новый ключ будет сгенерирован, нажмите “Next”.
Проверьте данные и нажмите “Next”.
Еще раз проверьте, правильно ли заполнены поля и нажмите “Next”.
В появившемся окне оставьте поля пустыми и просто нажмите “Next”.
В появившемся окне нажмите “Build”.
После того, как сборка MSI-пакета завершится, переместите файл в общую папку для пользователей домена и настройте Active Directory.
После этого Yaware-клиент будет автоматически установлен на компьютеры сотрудников.
WiX Toolkit и Burn Bundles (файлы setup.exe)
Техническое примечание: Инструментарий WiX теперь предоставляет файлы, созданные с помощью инструмента начальной загрузки что вам нужен собственный инструментарий декомпилятор для извлечения. Запись используется для создания файлов setup.exe, которые могут устанавливать несколько встроенных MSI или исполняемых файлов в указанной последовательности. Вот пример команды извлечения:
Прежде чем вы сможете запустить такое извлечение, необходимо выполнить некоторые предварительные действия:
- Загрузите и установите набор инструментов WiX (ссылка на предыдущий ответ с некоторой дополнительной контекстной информацией о WiX, а также ссылка для загрузки).
- После установки WiX просто откройте , в папку, где проживает. Затем укажите указанную выше команду и нажмите Войти
- Выходная папка будет содержать несколько подпапок, содержащих извлеченные файлы MSI и EXE, а также манифесты и файл ресурсов для графического интерфейса Burn (если они, конечно, изначально существовали в файле setup.exe).
- Теперь вы можете, в свою очередь, извлечь содержимое извлеченных файлов MSI (или файлов EXE). Для MSI это будет означать запуск установки администратора, как описано ниже.
Административные установки имеют много применений
Рекомендуется больше узнать об установках администратора, поскольку это полезная концепция, и я написал сообщение о stackoverflow: .
По сути, установка администратора важна для:
- Извлечение и проверка файлов установщика
- Чтобы получить представление о том, что на самом деле установлено, и где
- Чтобы файлы выглядели надежными и безопасными (вирусы — вредоносное ПО и вирусы все еще могут скрываться внутри файла MSI)
- Развертывание через программное обеспечение для управления системами (например SCCM)
- Переупаковка корпоративных приложений.
- Ремонт, модификация и самообслуживание
- Патчи и обновления
- Объявление MSI (среди прочих деталей это включает в себя функцию запустить из источника «, где вы можете запускать непосредственно из общего сетевого ресурса, и вы устанавливаете только ярлыки и данные реестра)
- Несколько других мелких деталей
Пожалуйста, прочитайте сообщение stackoverflow, указанное выше для более подробной информации. Это довольно важная концепция для системных администраторов, разработчиков приложений, разработчиков, менеджеров выпуска и даже средний пользователь, чтобы увидеть, что они устанавливают и т.д.
Оптимизация хранения данных в хранилище конфигурации
В режиме совместимости хранилища «Не использовать» объекты метаданных хранятся в файловой системе, что позволяет существенно увеличить объем данных, которые можно поместить в хранилище.
Большое количество файлов может несколько замедлять работу с хранилищем (особенно при расположении хранилища на сетевом диске). Поэтому, если стало заметно некоторое замедление работы с хранилищем, в окне «Администрирование хранилища» на закладке «Прочие» можно выполнить оптимизацию хранения данных хранилища.
При включенном флажке «Предлагать оптимизацию после выполнения операций с хранилищем» в окне «Администрирование хранилища» администратору хранилища будет предлагаться провести оптимизацию хранения данных хранилища.
Отчет о службах
Начиная с версии 1.2019.1220.0 средства упаковки MSIX, можно преобразовать установщик со службами, и поэтому мы добавили страницу отчета службы. Если службы не обнаружены, вы по-прежнему увидите эту страницу, но она будет пустой с сообщением о том, что в верхней части страницы не обнаружены службы.
На странице отчета службы перечислены службы, обнаруженные в установщике во время преобразования. Службы, которые имеют всю необходимую информацию и поддерживаются, будут показаны в прилагаемой таблице. В исключенной таблице будут показаны службы, для которых требуется дополнительная информация, требуется исправление или не поддерживается.
Чтобы исправить службу или просмотреть дополнительные данные о службе, дважды щелкните запись службы в таблице, чтобы просмотреть всплывающее окно с дополнительными сведениями о службе. Некоторые из этих сведений можно изменить при необходимости.
- Имя ключа: Имя службы. Это недоступно для редактирования.
- Описание: Описание записи службы.
- Отображаемое имя: Отображаемое имя службы.
- Путь к изображению: Расположение исполняемого файла службы. Это недоступно для редактирования.
- Начальная учетная запись: Начальная учетная запись для службы.
- Тип запуска: Тип запуска службы. Поддерживает Автоматические, Ручные и Отключенные.
- Аргументы: Аргументы, которые будут запускаться при запуске службы.
- Зависимости: Зависимости для службы.
После того как служба будет исправлена, ее можно переместить в включенную таблицу или оставить в исключенной таблице, если ее не нужно использовать в окончательном пакете. Дополнительные сведения см. в документации по службам.
Что ещё можно сделать
Смотря что вы хотите скрыть. Понятно, что если в офис нагрянут, быстро перезаписать весь жесткий диск нулями не получится. Физическое уничтожение контроллера тоже не всегда помогает – блины HDD можно переставить на другое «железо» и восстановить данные.
А вот если изменить атрибуты файла, например, дату и время создания, изменения и т. п., это часто делает улики недействительными. Для таких действий подходит утилита Timestomp. Простейший скрипт для изменения временных атрибутов:
Здесь ключ –m используется для изменения даты модификации, -a – времени доступа, -с – времени создания, -e – времени модификации в MFT, -z – всех четырёх параметров сразу. Дата задается в формате DayofWeek MonthDayYear HH:MM:SS . Ещё один вариант дает ключ –b, который устанавливает атрибуты файлов такими, что программа EnCase, к примеру, их не видит. При этом вы не теряете доступа к данным.
ответа
Лучший ответ
Фил дал вам простой / простой ответ, но я подумал, что могу дать вам немного больше информации, так как вы провели некоторое исследование. Проверять, выписываться:
-us/library/windows/desktop/aa372919 (v=).aspx
Вот где находится структурированное хранилище. Вы увидите что-то вроде в качестве имени (PK) и двоичных данных. Данные представляют собой CAB-файл с записью файла в кабине, соответствующей столбцу Оттуда вы можете использовать столбец , чтобы получить короткое имя и длинное имя (без сомнения, вам понадобится длинное имя) и выполнить соединение с таблицей компонентов, чтобы получить идентификатор таблицы каталогов.
Вам также нужно будет пересмотреть таблицу каталогов, чтобы построить дерево каталогов и узнать, куда поместить файлы.
Прикольные вещи. В C # есть несколько библиотек, которые упрощают этот путь. Или просто позвоните msiexec / a, как говорит Фил.
3 Christopher Painter 21 Фев 2018 в 20:50
Вы уже получили много хороших ответов, включая использование из инструментария WiX. Загрузив исходный код WiX, вы сможете получить готовый код оттуда . Я предполагаю, что вы, возможно, уже сделали это.
Крис уже связался с кодом DTF , который вы можете проверить, но здесь также есть ссылка непосредственно на : темный. Я бы попробовал оба. Это C #, вы, кажется, хотите родной.
ОБНОВЛЕНИЕ . Прежде чем перейти к функциям Win32, которые вы можете использовать, ознакомьтесь с кратким обзором возможностей C # DTF: Как программно прочитать свойства в файле MSI?
Собственные функции Win32 : Функции базы данных для работы с файлом MSI можно найти на MSDN (это означает, что файл MSI является базой данных). Есть также MSI Функции установщика (используется для работы с MSI-файлом в качестве фактического установщика).
Конечно, вы можете найти хорошие примеры нативного кода для этого с помощью хорошего поиска Google. Радоваться, веселиться!
Кстати: это помогло бы описать реальную проблему, которую вы пытаетесь решить, а также то, что вам нужно технически. Как всегда, могут быть менее вовлеченные способы достижения того, что вам нужно. Если вы не пишете защитное программное обеспечение или сканер вредоносных программ или что-то сверхзадачное.
И так понятно: WiX полностью декомпилирует MSI-файлы в исходные файлы WiX и файлы ресурсов, используемые для их создания — вы можете затем текстово-двоично сравнивать различные типы контента ( сравнение текста > для таблиц, двоичное сравнение для двоичных файлов и т. д.). Процесс для этого через командную строку описан в следующем ответе: Как сравнить содержимое двух (или более) файлов MSI? (речь идет о сравнении файлов MSI, но один из способов сделать это — декомпилировать их — см. раздел — просто для справки для тех, кто находит ваш вопрос).
Мне нравится связывать вещи вместе, чтобы мы могли легко находить контент на более позднем этапе. Строго говоря, в этом нет необходимости, у вас есть то, что вам нужно, я думаю, но другие могут получить пользу от дополнительных ссылок. Вот некоторые ссылки по теме:
- Извлечь MSI из EXE.
- Какова цель административной установки, инициированной с помощью msiexec / a?
- Как извлечь файлы из пакета MSI? (объясняет, почему вы не должны использовать 7-Zip для распаковки).
2 Stein Åsmul 10 Авг 2018 в 18:04
Самый простой способ извлечь все файлы в определенное место — это установить продукт в «объявленном» режиме. Если вы делаете:
Msiexec / a TARGETDIR =
Вы увидите, что происходит.
В C ++ вызовите MsiInstallProduct () с этой командной строкой.
3PhilDW
Выбор установщика, с помощью которого нужно создать пакет
Первое, что нужно сделать, это понять, что произойдет с установщиком, который вы хотите преобразовать. С помощью любого из этих установщиков можно указать их здесь, чтобы упростить рабочий процесс, или запустить его вручную во время установки позже в рабочем процессе.
Установщики MSI
При преобразовании .msi установщика можно просто найти его и указать .msi. Если у вас есть сопутствующий файл. MST или. MSP, можно указать это в поле аргументы установщика. Одно из преимуществ указания .msi здесь заключается в том, что мы можем извлечь из него всю информацию о пакете, сохранив время на следующем шаге преобразования.
Установщики App-V
При преобразовании с помощью App-V это действительно простой процесс. Необходимо только указать файл App-V, и вы сможете быстро отслеживание на странице Создание MSIX. Это обусловлено тем, что манифест пакета просто нужно перевести в пакет MSIX, а затем просто работает как MSIX. Здесь следует помнить, что средство поддерживает только App-V 5,1. Если приложение-V имеет версию 4. x, рекомендуется взять исходный установщик и преобразовать его непосредственно в MSIX.
Установщики EXE
При преобразовании .exe установщика на этом этапе можно указать установщик. В связи с отсутствием согласованности формата с exe-файла необходимо вручную ввести сведения о пакете для установщика.
установщики ClickOnce
при преобразовании ClickOnce установщика на этом этапе можно указать установщик. Как и .exe, необходимо вручную ввести сведения о пакете для установщика.
Сценарии
Если вы используете сценарий для установки приложения, можно указать командную строку здесь. Кроме того, это поле можно оставить пустым и запустить сценарий вручную на .
Установка вручную
Если вы хотите вручную запустить установщик или вручную выполнить действия установщика, можно оставить поле установщика пустым и на выполнить действия, необходимые для установщика.
Если вы пытаетесь создать файл шаблона преобразования, вы не сможете сделать это без указания установщика.
Если у вас есть аргументы установщика, можно ввести нужный аргумент в указанное поле. В поле можно ввести любую строку.
Параметры подписывания
В разделе предпочтения подписи выберите вариант подписывания. Вы можете определить в параметрах этот вариант как вариант по умолчанию, чтобы автоматизировать выполнение некоторых шагов при каждом преобразовании.
- Подписать с помощью подписи Device Guard Этот параметр позволяет войти в учетную запись Microsoft Active Directory, настроенную для использования с подписыванием Device Guard, которое является службой подписи, которую корпорация Майкрософт предоставляет, где вам не нужно предоставлять собственный сертификат. Дополнительные сведения о настройке учетной записи и о подписывании Device Guard см. здесь.
- Подписывание с помощью сертификата (PFX) Найдите и выберите PFX-файл сертификата. Если сертификат защищен паролем, введите пароль в соответствующем поле.
- Укажите CER-файл (не подписывается) Этот параметр позволяет указать CER-файл. Это полезно, если вы не хотите подписывать пакет, но хотите убедиться, что сведения об издателе соответствуют субъекту сертификата, который будет использоваться для подписания.
- Не подписывать пакет Выберите этот параметр, если вы будете подписаны пакет позднее. Примечание. невозможно установить пакет MSIX, если он не подписан
- При подписывании мы настоятельно рекомендуем добавить к сертификату метку времени , чтобы срок действия вашего сертификата мог быть последним. Допустимый формат — URL-адрес сервера меток времени в соответствии со стандартом RFC 3161.
Примечание
Подписывание приложения формата пакета MSIX с помощью сертификата SHA1 не поддерживается.
Чтобы продолжить, нажмите кнопку Далее .
Имеется встроенная поддержка MSI для извлечения файлов (установка администратора)
MSI или установщик Windows имеет встроенную поддержку для этого — извлечение файлов из файла MSI. Это называется административная установка. Это в основном предназначено как способ создания точка сетевой установки с которого установка может быть запущена на многих целевых компьютерах. Это гарантирует, что исходные файлы всегда доступны для любых операций восстановления.
Обратите внимание, что запуск административной установки и использование zip-архива для извлечения файлов очень отличается! Последний не будет настраивать макет мультимедиа в таблице мультимедиа, чтобы пакет был настроен на использование внешних исходных файлов — что является правильным способом. Всегда предпочитайте запускать фактическую установку администратора вместо любых извлеченных из архива zip архивов
Что касается сжатия, то на самом деле есть три разных алгоритма сжатия используется для файлов CAB в формате файла MSI: MSZip, LZX и Storing (несжатый). Все это выполняется правильно, выполняя установку администратора.
Важный: Установщик Windows кэширует установленные файлы MSI в системе для сценариев восстановления, изменения и удаления. Начиная с Windows 7 (MSI версии 5) Файлы MSI теперь кэшируются в полном размере чтобы избежать нарушения подписи файла, которая не позволяет выводить приглашение UAC при запуске установки (известная проблема Vista). Это может привести к значительному увеличению потребления дискового пространства (несколько гигабайт для некоторых систем). Чтобы предотвратить кеширование огромного файла MSI, перед установкой необходимо выполнить установку пакета администратором. Вот как компания с правильным развертыванием в управляемой сети будет делать что-то, и она удалит файлы cab и создаст точку сетевой установки с небольшим файлом MSI и другими файлами.
Создание файла отправки пакета приложения для отправки хранилища
чтобы распространить приложение на Microsoft Store, рекомендуется создать файл отправки пакета приложения (. мсиксуплоад или. appxupload) и отправить этот файл в центр партнеров. Хотя пакет приложения или набор приложений можно отправить только в центр партнеров, рекомендуется отправить файл отправки пакета приложения.
вы можете создать файл отправки пакета приложения с помощью мастера создания пакетов приложений в Visual Studio или создать его вручную из существующих пакетов приложений или наборов приложений.
Примечание
Если вы хотите вручную создать пакет приложения (msix или appx) или набор приложений (. msixbundle или. appxbundle), см. статью Создание пакета приложения с помощью средства MakeAppx.exe.
Создание файла отправки пакета приложения с помощью Visual Studio
Примечание
следующие инструкции и снимки экрана описывают процесс Visual Studio 2019 версии 16,3. Если вы используете более раннюю версию, часть пользовательского интерфейса может выглядеть иначе.
-
В обозревателе решений откройте решение для проекта приложения UWP.
-
щелкните проект правой кнопкой мыши и выберите опубликовать -> создание пакетов приложений (до Visual Studio 2019 версии 16,3, меню публикация называется Store). Если этот параметр отключен или не отображается, убедись, что это универсальный проект Windows.
Откроется мастер Создание пакетов приложения.
-
выберите Microsoft Store используя новое имя приложения в первом диалоговом окне, а затем нажмите кнопку далее.
Если проект уже связан с приложением в магазине, вы также можете создать пакеты для связанного приложения Магазина. при выборе загрузки неопубликованных приложений Visual Studio не будет создавать файл передачи пакета приложения (. мсиксуплоад или. appxupload) для отправки в центр партнеров. Если вы хотите создать только пакета или пакет MSIX для распространения без хранилища, можно выбрать этот параметр.
-
На следующей странице войдите в систему с помощью учетной записи разработчика в центр партнеров. Если у вас нет учетной записи разработчика, мастер поможет создать ее.
-
Выберите имя приложения для своего пакета из списка приложений, зарегистрированных в вашей учетной записи, или Зарезервируйте новый, если вы еще не зарезервированы в центре партнеров.
-
Не забудьте выбрать все три конфигурации архитектуры (x86, x64 и ARM) в диалоговом окне Выбор и настройка пакетов, чтобы гарантировать развертывание приложения на самых разных устройствах. В списковом окне Создать пакет приложений выберите Всегда. Набор приложений (. appxbundle или. msixbundle) является предпочтительным для одного файла пакета приложения, так как он содержит коллекцию пакетов приложений, настроенных для каждого типа архитектуры процессора. Если вы решили создать набор приложений, пакет приложений будет включен в окончательный файл отправки пакета приложения (. appxupload или. мсиксуплоад) вместе со сведениями об отладке и аварийном восстановлении. Если вы не уверены, какие архитектуры выбрать, или хотите узнать больше о том, какие архитектуры используются разными устройствами, см. информацию в разделе Архитектуры пакета приложения.
-
Включите общедоступные файлы символов для анализа производительности приложения из центра партнеров после публикации приложения. Настройте любые дополнительные сведения, включая номер версии и выходное расположение пакета.
-
Щелкните Создать, чтобы создать пакет приложения. если вы выбрали один из способов создания пакетов для отправки в параметры Microsoft Store на шаге 3 и создаете пакет для отправки в центр партнеров, мастер создаст файл передачи пакета (. appxupload или. мсиксуплоад). Если вы выбрали вариант создания пакетов для загрузки неопубликованных приложений на шаге 3, мастер создаст один пакет приложения или набор приложений на основе выбранных на шаге 6.
-
Когда приложение успешно упаковано, вы увидите это диалоговое окно и можете получить файл отправки пакета приложения из указанного расположения выходных данных. На этом этапе можно и .
Создание файла отправки пакета приложения вручную
-
Поместите следующие файлы в папку:
- Один или несколько пакетов приложений (. msix или. appx) или набор приложений (. msixbundle или. appxbundle).
- Файл аппкссим. Это сжатый PDB-файл, содержащий открытые символы приложения, используемые для анализа сбоев в центре партнеров. Этот файл можно опустить, но в этом случае для приложения не будут доступны сведения о сбое или отладке.
-
Выберите все файлы в папке, щелкните их правой кнопкой мыши и выберите пункт Отправить -> сжатую ZIP-папку.
-
Измените имя нового расширения ZIP-файла с .zip на. мсиксуплоад или. appxupload.
WiX Toolkit и Burn Bundles (файлы setup.exe)
Техническое примечание: Инструментарий WiX теперь предоставляет файлы, созданные с помощью инструмента начальной загрузки что вам нужен собственный инструментарий декомпилятор для извлечения. Запись используется для создания файлов setup.exe, которые могут устанавливать несколько встроенных MSI или исполняемых файлов в указанной последовательности. Вот пример команды извлечения:
Прежде чем вы сможете запустить такое извлечение, необходимо выполнить некоторые предварительные действия:
- Загрузите и установите набор инструментов WiX (ссылка на предыдущий ответ с некоторой дополнительной контекстной информацией о WiX, а также ссылка для загрузки).
- После установки WiX просто откройте , в папку, где проживает. Затем укажите указанную выше команду и нажмите Войти
- Выходная папка будет содержать несколько подпапок, содержащих извлеченные файлы MSI и EXE, а также манифесты и файл ресурсов для графического интерфейса Burn (если они, конечно, изначально существовали в файле setup.exe).
- Теперь вы можете, в свою очередь, извлечь содержимое извлеченных файлов MSI (или файлов EXE). Для MSI это будет означать запуск установки администратора, как описано ниже.
Существует встроенная поддержка MSI для извлечения файлов (admin install)
MSI или установщик Windows имеет встроенную поддержку для этого-извлечение файлов из файла MSI. Это называется административной установкой . В основном он предназначен для создания точки сетевой установки, из которой установка может выполняться на многих целевых компьютерах. Это гарантирует, что исходные файлы всегда доступны для любых операций восстановления.
Обратите внимание, что запуск установки администратора по сравнению с использованием инструмента zip для извлечения файлов очень отличается! Последний не будет настраивать макет мультимедиа таблицы мультимедиа таким образом, чтобы пакет был настроен на использование внешних исходных файлов, что является правильным способом. Всегда предпочитаю запускать фактическую установку администратора над любыми hacky zip извлечениями
Что касается сжатия, на самом деле существует три различных алгоритма сжатия, используемых для cab-файлов в формате MSI: MSZip, LZX и хранение (несжатое). Все они обрабатываются правильно, делая установку администратора.
Важно:для сценариев восстановления, изменения и удаления. Начиная с Windows 7 (MSI версии 5) файлы MSI теперь кэшируются в полном размере чтобы избежать нарушения подписи файла, которая предотвращает запрос контроля учетных записей при запуске программы установки (известная проблема Vista)
Это может привести к огромному увеличению потребления дискового пространства (несколько гигабайт для некоторых систем). Чтобы предотвратить кэширование огромного MSI-файла, перед установкой необходимо выполнить установку пакета администратором. Это то, как компания с правильным развертыванием в управляемой сети будет делать вещи, и он будет удалять файлы cab и сделать точку установки сети с небольшим файлом MSI и файлами, кроме него.