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


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

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



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


Выразить свое отношение к модераторам раздела можно здесь: Profi, Fester
Модераторы: Fester
  
> WIX: Как запустить из своего инсталятора установку SQLLocalDB.msi
    Привет коллеги!

    Уже весь мозг сломал, мне нужно что бы мой инсталлятор запускал установку SQLLocalDB.msi, все перепробовал, но возникает ошибка (в логах SELECT `Message` FROM `Error` WHERE `Error` = 1721).
    Вот кусочек XML
    ExpandedWrap disabled
      <CustomAction
      Id="RunMainApp"
      FileKey="SqlLocalDBx64"
      ExeCommand=""
      Execute="deferred"
      Impersonate="no"
      Return="check" />
          <InstallExecuteSequence>
            <Custom Action="RunMainApp"
            Before="InstallFinalize">
              <![CDATA[NOT REMOVE]]>
            </Custom>
          </InstallExecuteSequence>
       
        </Product>


    Это возможно вообще?

    Уже морально готов заказать написание инсталлятора для своей программы у местных гуру, к кому можно обратиться?
    Сообщение отредактировано: Profi -
      2 deferred фазы не могут сосуществовать. ты из deferred пытаешь запустить другой инсталлер (тоже с deferred). такая конструкция никогда работать не будет :)

      Поменяй deferred на immediate.
        К сожалению не помогло.
          Ну давай от печки :)
          SqlLocalDBx64 - указывает на exe или на msi?

          Добавлено
          кроме того, я так понимаю, что SqlLocalDBx64 - это Id устанавливаемого файла, т.е. ты хочешь запустить установленный файл, значит запускать установку нужно после того, как этот файл установится :) поэтому растополжить нужно после InstallFinalize.
            SQLLocalDBx64.msi

            В момент, когда мой инсталлятор выдает ошибку этот файл находится уже в папке, куда инсталлируется программа.
              Цитата lisp @
              SQLLocalDBx64.msi

              *.msi - это не исполняемый файл. Так что запускать его смысла нет :) Нужно запускать msiexec.exe \i <путь к msi> \qn (\qn - невидимая установка)


              Цитата lisp @
              В момент, когда мой инсталлятор выдает ошибку этот файл находится уже в папке, куда инсталлируется программа.

              то, что файл установлен говорит только о том, что кастом экшен выполняется посто экшена InstallFiles. Однако ты расположил свой экшен перед InstallFinalize, т.е. в deferred фазе. У вызываемого msi файла тоже есть deferred фаза... таким образом ты пытаешься запустить две deferred фазы одновременно. А этого дельть нельзя (точнее говоря невозможно).
              1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0273 ]   [ 14 queries used ]   [ Generated: 14.05.24, 07:55 GMT ]