Замена файла в msi
От: Аноним  
Дата: 08.10.04 09:28
Оценка:
Есть ли способ заменить отдельный файл в инсталяторе msi ?!
Re: Замена файла в msi
От: IBoB  
Дата: 11.10.04 08:48
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть ли способ заменить отдельный файл в инсталяторе msi ?!

Есть такая утилитка MsiDb.exe (входит в состав Install SDK). Предназначена как раз для подобных вещей. Но при этом надо знать, что в msi обычно не просто файлы лежат, а уже пожатые в cab'ы. А посему сначала нужно вытащить cab:
MsiDb.Exe -dPAKAGE_NAME.msi -xCAB_FILE_NAME.cab, затем его подправить как надо и закатать обратно:
MsiDb.Exe -dPAKAGE_NAME.msi -kCAB_FILE_NAME.cab — удаляем старый;
MsiDb.Exe -dPAKAGE_NAME.msi -aCAB_FILE_NAME.cab — пихаем новый.
Если кабов нет, то с файлами работает анологичным образом.
Те же операции можно проделать и самостоятельно с помощью объекта Record из объектной модели Windows Installer. С помощью ReadStrem, ClearDate & SetStream.
Надеюсь, что нужно все это не для того, чтобы запихивать троянов в чужие инсталляхи
Будут деньги, дом в Чикаго, много женщин и машин...
Re[2]: Замена файла в msi
От: InterFACE  
Дата: 11.10.04 09:11
Оценка:
Здравствуйте, IBoB, Вы писали:

IBB>Здравствуйте, Аноним, Вы писали:


А>>Есть ли способ заменить отдельный файл в инсталяторе msi ?!

IBB>Есть такая утилитка MsiDb.exe (входит в состав Install SDK). Предназначена как раз для подобных вещей. Но при этом надо знать, что в msi обычно не просто файлы лежат, а уже пожатые в cab'ы. А посему сначала нужно вытащить cab:
IBB>MsiDb.Exe -dPAKAGE_NAME.msi -xCAB_FILE_NAME.cab, затем его подправить как надо и закатать обратно:
IBB>MsiDb.Exe -dPAKAGE_NAME.msi -kCAB_FILE_NAME.cab — удаляем старый;
IBB>MsiDb.Exe -dPAKAGE_NAME.msi -aCAB_FILE_NAME.cab — пихаем новый.
IBB>Если кабов нет, то с файлами работает анологичным образом.
IBB>Те же операции можно проделать и самостоятельно с помощью объекта Record из объектной модели Windows Installer. С помощью ReadStrem, ClearDate & SetStream.
IBB>Надеюсь, что нужно все это не для того, чтобы запихивать троянов в чужие инсталляхи

Спасибо за подробный ответ, буду разбираться.
Нужно заменить dll старую на новую
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.