Запуск Win Installer для другой учетной записи
От: woolf Россия  
Дата: 17.04.11 15:12
Оценка:
Есть проект, создающий Win Form приложение и Win Service (с правами Local System)приложение,
в котором сервис будет контролироваться WinForm приложением.
Для них создал общее Installer приложение, с параметром InstallAllUsers = true.
Все инсталлируется под учетной записью, входящую в группу Администраторы.
Но есть проблема:
Когда вход выполнен под другой учетной записью (так же из группы Администраторы),
при запуске WinForm из меню "Пуск" "рабочего стола",
запускается Installer (аналогично первому запуску приложений Microsoft Office, для каждой уч. записи),
и выдает ошибку: 1001 — такой сервис уже существует,
и запуск приложения отменяет.
Но если исполняющий файл WinForm приложения запустить, напрямую из каталога Program Files\WinFormapp,
то все работает без ошибок.

Подскажите pls, как обойти описанную проблему.
Полагаю, что нибудь подобное примеру, но это не помогает....
public override void Install(IDictionary stateSaver)
        {
            ServiceController sysServiceControl = new ServiceController(ConstData.WIN_SERVICE);
            if (sysServiceControl.MachineName != ".")
            {
                this.Installers.Clear();
                
            }
            base.Install(stateSaver);
        }


Спасибо за внимание.

Чем дальше в лес, тем толще партизаны.....
Re: Запуск Win Installer для другой учетной записи
От: adontz Грузия http://adontz.wordpress.com/
Дата: 18.04.11 16:34
Оценка:
Здравствуйте, woolf, Вы писали:

У вас инсталлятор неправильный, сервис устанавливается как приложение для пользователя, а не системный компонент.
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Запуск Win Installer для другой учетной записи
От: woolf Россия  
Дата: 19.04.11 03:13
Оценка:
Здравствуйте, adontz, Вы писали:

A>У вас инсталлятор неправильный, сервис устанавливается как приложение для пользователя, а не системный компонент.


Изначально инсталлятор устанавливал только один сервис как системный компонент, но затем я в него же добавил установку WinForm приложения, с целью — избавить пользователя от двойного ввода одних и тех же данных в полях форм в разных инсталляторах(для WinService и WinForm).
WinService является наблюдателем и контроллером за работой WinForm, а так же транслятором команд "Основной-резервный" на дублирующий комп с такой же связкой приложений.

Чем дальше в лес, тем толще партизаны.....
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.