0

В нашей организации автоматический скрипт копирует все MSI из места сборки в новую папку внутри общей папки каждый раз после успешной сборки. Есть более 150 проектов. Проблема, с которой я столкнулась, заключается в том, что хотя было изменено только 20 проектов, автоматические копии сценариев и вставка всех 150 MSI в новую папку. Следовательно, я не могу определить, какие MSI проекта прошли изменения в недавней сборке. Если я вижу временную метку, она будет одинаковой для всех MSI в новой папке.Каков наилучший способ определить, была ли изменена MSI или нет?

Может ли кто-нибудь предложить любой способ идентифицировать список измененных MSI либо через программу, либо вручную с помощью любого инструмента? Если вручную, это не должно быть по одному сопоставлению файлов.

В принципе, я хотел бы сравнить две общие папки для генерации списка измененных MSI.

Обратите внимание: у нас нет доступа к месту сборки, а также нет возможности изменять существующий автоматический сценарий. Но я могу написать новый.

+0

поиск на 'MSI DIFF', кажется, оказаться справедливыми несколько результатов. Не могу прокомментировать качество любого из них. –

+0

Не удается удалить MSI из местоположения сборки после переноса его в общую папку? – Kurubaran

ответ

1

Пакеты установщика Windows имеют Summary Information Stream, который включает в себя Last Saved Time/Date Summary property. Вы можете увидеть это в проводнике, когда вы нажимаете свойства в файле и переходите на страницу сведений (свойство Origin | Content created). Вы можете получить доступ к этому программному обеспечению на любом количестве языков. Если вы используете C#, взгляните на сборку взаимодействия Microsoft.Deployment.WindowsInstaller в Microsoft Windows Installer XML (WiX) Deployment Tools Foundation (DTF). Он имеет класс SummaryInfo, который имеет конструктор, как, например:

public SummaryInfo(
    string packagePath, 
    bool enableWrite 
) 

Оттуда он имеет свойство:

public DateTime LastSaveTime { get; set; } 

 Смежные вопросы

  • Нет связанных вопросов^_^