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


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

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



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


Выразить свое отношение к модераторам раздела можно здесь: Profi, Fester
Модераторы: Fester
  
> WIX: сборка из командной строки , есть такая необходимость
    Проект прекрасно собирается под Visual Studio, но когда я те же файлы пытаюсь собрать напрямую из командной строки:
    ExpandedWrap disabled
      "%wix%bin\candle" product.wxs -ext WixUtilExtension -ext WixNetFxExtension -ext WixUIExtension
      "%wix%bin\light" product.wixobj -ext WixUtilExtension -ext WixNetFxExtension -ext WixUIExtension

    получаю ошибку
    ExpandedWrap disabled
      Product.wxs
      M:\trunk\trunk\trunk\TOTKShell\TOTKShellSetup2\MainDirectory.wxi(4) : error CNDL
      0150 : Undefined preprocessor variable '$(var.TOTKShell.TargetFileName)'.
       
      M:\trunk\trunk\trunk\TOTKShell\TOTKShellSetup2>"C:\Program Files (x86)\WiX Tools
      et v3.7\bin\light" product.wixobj -ext WixUtilExtension -ext WixNetFxExtension -
      ext WixUIExtension
      Windows Installer Xml Linker version 3.7.1224.0
      Copyright (C) Outercurve Foundation. All rights reserved.
       
      M:\trunk\trunk\trunk\TOTKShell\TOTKShellSetup2\TOTKShellSetup2\Product.wxs(13) :
       error LGHT0094 : Unresolved reference to symbol 'WixComponentGroup:ProductCompo
      nents' in section 'Product:*'.
      M:\trunk\trunk\trunk\TOTKShell\TOTKShellSetup2\TOTKShellSetup2\Product.wxs(14) :
       error LGHT0094 : Unresolved reference to symbol 'Component:ProductComponent' in
       section 'Product:*'.
      M:\trunk\trunk\trunk\TOTKShell\TOTKShellSetup2\TOTKShellSetup2\Product.wxs(23) :
       error LGHT0094 : Unresolved reference to symbol 'Media:1' in section 'Product:*
      '.
      M:\trunk\trunk\trunk\TOTKShell\TOTKShellSetup2\TOTKShellSetup2\Product.wxs(47) :
       error LGHT0094 : Unresolved reference to symbol 'Property:NETFRAMEWORK40' in se
      ction 'Product:*'.
       
      M:\trunk\trunk\trunk\TOTKShell\TOTKShellSetup2>

    Может, я пишу не те команды, но более подробного описания/примеров я не нашёл. Подскажите, пожалуйста, как собрать в принципе действующий проект из командной строки.
      Ну так посмотри на коммандную строку, которой компилит студия и сравни со своей.
        Долго искал, как это узнать, не нашёл, принялся пытаться написать сам.
          Включаешь окно Output и компилишь :)
            Да, там вывелось. Только остаётся небольшая (хоть и решаемая, но кривовато) сложность - автоматически формируемая командная строка набирает более 8 192 символов для команды candle, никогда с такой проблемой раньше не сталкивался, поискал решения, но через файл так и не понял как, а если сокращать, как рекомендует Microsoft, то ужать до 8192 реально лишь, выкинув неиспользуемые переменные, для чего я перебирал их вручную (может, можно и не вручную, но я не нашёл как), что при появлении изменений не совсем удобно.
              Ну тут вопрос в том, что входит в эту строку :)
              Мне такая стока пока еще не встречалась :)
                Все переменные, которые объявляет WIX Visual Studio Toolset. Для каждого проекта это TargetDir, ProjectDir и т. д. и т. п.. Пользуюсь не всеми из них, за счёт этого и сократил. Может и не лучшее решение, но я использую их примерно так:
                ExpandedWrap disabled
                        <File Id="AuthenticationModuleFile" Name="$(var.AuthenticationModule.TargetFileName)" Source="$(var.AuthenticationModule.TargetPath)">
                          <netfx:NativeImage Id="ngen_AuthenticationModule.dll" Platform="all" AppBaseDirectory="ProgramFilesFolder"/>
                        </File>
                  Что тебе мешает определять переменные в файле? Я так понимаю, что ты их все передаешь через командную строку :) Зачем?
                    Так удобнее выполнять сборку через VisualStudio, с этого я начинал делать installer. Надо, наверно, подумать, как лучше это сделать по-другому.
                      Ну так если у тебя 100500 параметров, что чему ты удивляешься? :)

                      Структурируй параметры, засунь в файлы. В крайнем случае всегда сможешь добавить пару параметров в командную строку и подключить нужный файл препроцессором.

                      Сообщения были разделены в тему "WiX: работа с контролами"
                        M
                        Каким боком этот вопрос относится к сборке из командной строки?
                        Сделал новую тему: WiX: работа с контролами
                        Сообщение отредактировано: Fester -
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0273 ]   [ 15 queries used ]   [ Generated: 28.04.24, 16:56 GMT ]