Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.145.54.199] |
|
Сообщ.
#1
,
|
|
|
Проект прекрасно собирается под Visual Studio, но когда я те же файлы пытаюсь собрать напрямую из командной строки:
"%wix%bin\candle" product.wxs -ext WixUtilExtension -ext WixNetFxExtension -ext WixUIExtension "%wix%bin\light" product.wixobj -ext WixUtilExtension -ext WixNetFxExtension -ext WixUIExtension получаю ошибку 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> Может, я пишу не те команды, но более подробного описания/примеров я не нашёл. Подскажите, пожалуйста, как собрать в принципе действующий проект из командной строки. |
Сообщ.
#2
,
|
|
|
Ну так посмотри на коммандную строку, которой компилит студия и сравни со своей.
|
Сообщ.
#3
,
|
|
|
Долго искал, как это узнать, не нашёл, принялся пытаться написать сам.
|
Сообщ.
#4
,
|
|
|
Включаешь окно Output и компилишь
|
Сообщ.
#5
,
|
|
|
Да, там вывелось. Только остаётся небольшая (хоть и решаемая, но кривовато) сложность - автоматически формируемая командная строка набирает более 8 192 символов для команды candle, никогда с такой проблемой раньше не сталкивался, поискал решения, но через файл так и не понял как, а если сокращать, как рекомендует Microsoft, то ужать до 8192 реально лишь, выкинув неиспользуемые переменные, для чего я перебирал их вручную (может, можно и не вручную, но я не нашёл как), что при появлении изменений не совсем удобно.
|
Сообщ.
#6
,
|
|
|
Ну тут вопрос в том, что входит в эту строку
Мне такая стока пока еще не встречалась |
Сообщ.
#7
,
|
|
|
Все переменные, которые объявляет WIX Visual Studio Toolset. Для каждого проекта это TargetDir, ProjectDir и т. д. и т. п.. Пользуюсь не всеми из них, за счёт этого и сократил. Может и не лучшее решение, но я использую их примерно так:
<File Id="AuthenticationModuleFile" Name="$(var.AuthenticationModule.TargetFileName)" Source="$(var.AuthenticationModule.TargetPath)"> <netfx:NativeImage Id="ngen_AuthenticationModule.dll" Platform="all" AppBaseDirectory="ProgramFilesFolder"/> </File> |
Сообщ.
#8
,
|
|
|
Что тебе мешает определять переменные в файле? Я так понимаю, что ты их все передаешь через командную строку Зачем?
|
Сообщ.
#9
,
|
|
|
Так удобнее выполнять сборку через VisualStudio, с этого я начинал делать installer. Надо, наверно, подумать, как лучше это сделать по-другому.
|
Сообщ.
#10
,
|
|
|
Ну так если у тебя 100500 параметров, что чему ты удивляешься?
Структурируй параметры, засунь в файлы. В крайнем случае всегда сможешь добавить пару параметров в командную строку и подключить нужный файл препроцессором. Сообщения были разделены в тему "WiX: работа с контролами" |
Сообщ.
#11
,
|
|
|
M Каким боком этот вопрос относится к сборке из командной строки? Сделал новую тему: WiX: работа с контролами |