На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ Inno Setup
Пожалуйста, выделяйте текст инсталлятора написанного на Inno Setup тегом [сode=ins] ... [/сode]. Для этого используйте кнопку [code=ins] в форме ответа или выпадающего списка, если нужно вставить код из другой программы.


Обязательно указывать:

  • Программу, используемую для создания инсталлятора.



Если в ходе решения проблемы возникли дополнительные вопросы, по возможности задаем их в той же теме.


Выразить свое отношение к модераторам раздела можно здесь: Profi, Fester
Модераторы: Fester
Страницы: (5) « Первая ... 3 4 [5]  все  ( Перейти к последнему сообщению )  
> WIX Condition , Не срабатывает Condition
    Пока что дело даже не в функции, компилятор выдает вот какую ошибку :

    Error 1 The type or namespace name 'MSIHANDLE' could not be found (are you missing a using directive or an assembly reference?) C:\Users\tatyana.druzenko\Documents\installer\installer\OpenSoft.InkRouter.ShedulerService.CustomAction\CustomAction.cs 25 40 OpenSoft.InkRouter.ShedulerService.CustomAction


    То есть он не находит именно 'MSIHANDLE'.
    В интернете не нашла ничего, что помогло бы понять к чему эта ошибка относится :wall:
      это Session.
        Я все-таки хочу написать CustomAction на C#, пытаюсь переделать код метода, который Вы мне написали, но не срабатывает пока :(

        Я объявила переменную uint INSTALLSTATE_LOCAL = 3;

        А вот с методом MsiSetComponentState (или Вы еще предлагали InstallMissingComponent) - беда. Таких методов не нашлось, может там какие-то библиотеки?
        Уже весь интернет перерыла :(

        Добавлено
        Пока что вот так написано.

        uint INSTALLSTATE_LOCAL = 3;

        private uint SetComponentState(Session hInstaller)
        {
        return InstallMissingComponent(hInstaller, "SchedulerService.exe.config", INSTALLSTATE_LOCAL);
        }
          Посмотрел на гитхабе описание Microsoft.Deployment.WindowsInstaller

          Должно быть что-то вроде:
          ExpandedWrap disabled
            public class CustomActions
            {
                 [CustomAction]
                 public static ActionResult SetComponentState(Session session)
                 {
                     session.Log("Begin CustomAction1");
             
                     try
                     {
                        Session.Components["SchedulerService.exe.config"].RequestState = InstallState.Local
                     }
                     catch (Exception ex)
                     {
                        session.Log (ex.Message);
                        return ActionResult.Failure;
                     }
                     return ActionResult.Success;
                 }
            }
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0549 ]   [ 15 queries used ]   [ Generated: 27.04.24, 15:55 GMT ]