Обновление 2:feature request было отклонено, просто потому, что WiX не может поддерживать эти «поддельные» переменные cmd.exe. Таким образом, принятый ниже ответ остается лучшим решением.Как написать дату установки установки для свойства
Обновление: Я опубликовал запрос функции для добавления поддержки динамической поддержки переменных препроцессора. Как только разработчики ответят, я обновлю эту тему.
Оригинал Вопрос:
Я хочу, чтобы написать дату, когда установка была построена в собственность.
<Property Name="BuildDate" Value="$(env.Date)" />
или
<Property Name="BuildDate" Value="$(sys.Date)" />
бросает CNDL0150: "Неопределенная переменная препроцессора", а
<Property Name="BuildDate" Value="[Date]" />
будет, конечно, написать строку "[Date]" свойству MSI.
Как я могу это достичь?
Редактировать: Я пробовал «Дату» во всех случаях, тот же результат. Кроме того, добавление новой переменной среды под названием «BuildDate» и ее установка на «% DATE%» устраняет ошибку компиляции, но значение, записанное в MSI, не разрешается с фактической датой, вместо этого оно дает строку «% DATE% ».
Я пробовал «Дату» во всех случаях, к сожалению, ошибка остается прежней: CNDL0150. Версия WiX - 3.8.1125.0. – Hannes
Эта ошибка, о которой вы говорили, указывает на '$ (env.date)' как неопределенную переменную препроцессора? Во всяком случае, это звучит как проблема с этой конкретной сборкой WiX - вы можете попробовать ее на стабильной версии 3.7. –
Да, да. Имя файла и номер строки верны. Я попробовал это с последней версией 3.7, как вы предполагали, - тот же результат: C: \ test \ WixProjects \ _Global \ Global_Product.wxs (56,0): ошибка CNDL0150: неопределенная переменная препроцессора '$ (env.DATE)' , – Hannes