2017-01-17 10 views
0

Я создал установщик .msi для приложения Windows из Visual Studio и назвал установщик через окно свойств проекта, например. MyApplication.msi, проблем нет.Выберите имя файла .msi installer при добавлении в папку C: Windows Installer

Однако после установки Windows сохраняет папку .msi в кэш установщика в C: \ Windows \ Installer для удаления/переустановки и переименовывает его в нечто вроде 4363ab.msi (я понимаю, что это предотвращает столкновения имен файлов) , Есть ли способ предотвратить это, поэтому .msi сохраняется как MyApplication.msi, кроме ручного переименования?

Я понимаю, что в этом нет никакой реальной ценности, однако мой клиент спрашивает, возможно ли это, потому что они хотят, чтобы .msi был хорошо виден любому системному администратору без зависания над .msi или чтения свойств файла ,

ответ

2

Невозможно. Это частный кеш-файл, поддерживаемый службой установщика Windows, используемой для работы с отказом и обслуживания. В предыдущих версиях Windows он был «лишен» встроенных кабин, оставляя только метаданные, чтобы потреблять меньше места. Это снятие недействило цифровой сертификат и вызвало проблему с Windows Vista с UAC. Вы пошли бы на удаление, и он сказал бы «издатель непроверенный». Это испуганные люди, поэтому запуск в Windows 7 MSFT начал кэшировать полный MSI.

Но этот кеш все еще не для нас, это для MSI. Теперь, если клиенту действительно интересно узнать, что такое MSI (или какой из них есть), было бы тривиально создавать MSICacheBrowser.exe для использования вызовов API для сбора всей этой информации и отображения ее пользователю.

Но вы никогда не должны касаться этого. Особенно в производстве.