Проверка возможности обновления компонента при инсталляции
От: IBoB  
Дата: 18.10.04 09:38
Оценка:
Приветствую всех!
Задача в следующем — с помощью msi ставится еxe-шный DCOM сервер. При установке не плохо было бы проверить, а не запущен ли он? Судя по всему это можно как-то сделать штатными свойствами Windows Installer'а, так как при установке msm модулей с мелкомягкими контролами они просят закрыть приложения использующие соответсятвующие компоненты. Кто нибудь знает, как это работает?
Будут деньги, дом в Чикаго, много женщин и машин...
Re: Проверка возможности обновления компонента при инсталляц
От: s.ts  
Дата: 18.10.04 11:15
Оценка:
Hello, IBoB!
You wrote on Mon, 18 Oct 2004 09:38:21 GMT:

I> Приветствую всех!

I> Задача в следующем — с помощью msi ставится еxe-шный DCOM сервер. При
I> установке не плохо было бы проверить, а не запущен ли он? Судя по всему
I> это можно как-то сделать штатными свойствами Windows Installer'а, так
I> как при установке msm модулей с мелкомягкими контролами они просят
I> закрыть приложения использующие соответсятвующие компоненты. Кто нибудь
I> знает, как это работает?

Приложение при запуске создает мьютекс. Инсталлятор при запуске создает мьютекс с тем же именем. Если не удалось, то приложение запущено.
Posted via RSDN NNTP Server 1.9 gamma
Re[2]: Проверка возможности обновления компонента при инстал
От: IBoB  
Дата: 18.10.04 11:38
Оценка:
ST>Приложение при запуске создает мьютекс. Инсталлятор при запуске создает мьютекс с тем же именем. Если не удалось, то приложение запущено.
Интересует выполнение задачи штатными средствами msi. Есть основание пологать что это возможно.
Будут деньги, дом в Чикаго, много женщин и машин...
Re[3]: Проверка возможности обновления компонента при инстал
От: Alny Украина  
Дата: 19.10.04 06:37
Оценка:
Здравствуйте, IBoB, Вы писали:

ST>>Приложение при запуске создает мьютекс. Инсталлятор при запуске создает мьютекс с тем же именем. Если не удалось, то приложение запущено.

IBB>Интересует выполнение задачи штатными средствами msi. Есть основание пологать что это возможно.
Копайте в сторону CustomActions. С их помощью можно много чего сделать. В частности — то что Вам надо.
... << RSDN@Home 1.1.4 @@subversion >>
Re[4]: Проверка возможности обновления компонента при инстал
От: IBoB  
Дата: 19.10.04 07:29
Оценка:
Здравствуйте, Alny, Вы писали:

A>Здравствуйте, IBoB, Вы писали:


ST>>>Приложение при запуске создает мьютекс. Инсталлятор при запуске создает мьютекс с тем же именем. Если не удалось, то приложение запущено.

IBB>>Интересует выполнение задачи штатными средствами msi. Есть основание пологать что это возможно.
A>Копайте в сторону CustomActions. С их помощью можно много чего сделать. В частности — то что Вам надо.
Дык именно этого то делать и не хочется . Windows installer сам определяет какие файлы он может заменить, а какие находятся в использовании. Только вот как этим воспользоваться?
Переформулирую вопрос.
Суть в следующем — при выполнении File Costing во внутреннюю таблицу FileInUse заносятся записи о всех открытых файлах подлежащих замене. Если эта таблица не пуста, то стандартное действие InstallValidate вызвает диалог FileInUse наполняя его соответствующими данными. Но в моем случае этого не происходит . Далее при замене файлов для тех, которые невозможно заменить, создаются копии новых версий в каталоге %TMP% и в реестре создается ключ HLMK\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations, содержащий список этих файлов. Программа инсталляции запрашивает перезагрузку и после нее выполняет копирование. Это процедура в моем случае прекрасно выполняется.
Кто подскажет в чем загвоздка с диалогом FileInUse?
Будут деньги, дом в Чикаго, много женщин и машин...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.