Тот же файл wixproj работает только в VS 2012 IDE, но не в командной строке VS

Я пытаюсь выполнить действия на этой странице. Я установил двоичные файлы Wix в папку на моем локальном компьютере.

Итак, у меня есть проект установщика wix, созданный плагином wix VS 2010. Я могу использовать VS 2010 IDE для его сборки и создания файла msi, но я не могу сделать то же самое с Msbuild в командной строке VS. Когда Msbuild пытается скомпилировать, возникает ошибка, сообщающая, что не удается найти свечу. Exe:

Необработанное исключение: System.IO.FileLoadException: не удалось загрузить файл или сборку file: /// C: \ MyFolder \ Wix \ Candle.exe или одну из его зависимостей. Операция не поддерживается. (Исключение из HRESULT: 0x80131515) ---> System.NotSupportedException: была предпринята попытка загрузить сборку из сетевого расположения, в результате чего сборка была бы изолирована в песочнице в предыдущих версиях .NET Framework. В этом выпуске .NET Framework по умолчанию политика CAS не включена, поэтому такая загрузка может быть опасной. Если эта загрузка не предназначена для изолирования сборки, включите переключатель loadFromRemoteSources. См. http://go.microsoft.com/fwlink/?LinkId=155569 для Дополнительная информация.

Я почти уверен, что exe находится в нужном месте, потому что VS IDE может его найти. Я хотел бы знать, что мне не хватает для Msbuild?

Спасибо!


person laishiekai    schedule 09.02.2013    source источник
comment
Вы используете командную строку VS2010 или какую-то предыдущую версию? Является ли ваша MSBuild TargetVersion самой 4.0?   -  person RinoTom    schedule 09.02.2013
comment
Да, я использую командную строку из VS2010, а версия msbuild - 4.0.   -  person laishiekai    schedule 09.02.2013


Ответы (2)


Я нашел ответ отсюда: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Error-in-candle-during-build-td7385947.html. Прежде чем разархивировать двоичные файлы, щелкните правой кнопкой мыши файл zip, выберите свойство и выберите Разблокировать на первой вкладке. Потом разархивируете как обычно.

person Thai Anh Duc    schedule 15.11.2013

Согласно предоставленной вами странице путь, введенный в строках кода, будет помогите сценарию MSBuild идентифицировать двоичные файлы WIX.

<PropertyGroup>
        <WixToolPath>$(SourceCodeControlRoot)\wix\3.6.3220.0\</WixToolPath>
        <WixTargetsPath>$(WixToolPath)Wix.targets</WixTargetsPath>
        <WixTasksPath>$(WixToolPath)wixtasks.dll</WixTasksPath>
</PropertyGroup>

Важная цитата здесь звучит так:

Значение свойства WixTargetsPath должно относиться к файлу проекта .wixproj, в котором оно используется. Свойство WixTasksPath используется внутри wix.targets для загрузки WixTasks.dll.

Пути должны быть указаны правильно в соответствии с папками, в которые вы распаковали свои файлы. В противном случае есть вероятность возникновения этой ошибки. Тогда также проект будет нормально работать с VS2010, поскольку он пересылает двоичные файлы WIX из установленного местоположения WIX. Но MSBuild будет ссылаться на значения, которые вы указываете в приведенных выше строках кода.

Итак, не могли бы вы указать значения, которые вы даете для WixToolPath, WixTargetsPath и WixTasksPath. А также путь, по которому вы распаковываете wix36-binaries.zip или wix37-binaries.zip.

Эта информация может помочь в решении этой проблемы, и, соответственно, я исправлю и этот ответ.

person RinoTom    schedule 09.02.2013
comment
Спасибо за усилия, но я почти уверен, что это тот же путь. Кроме того, у меня установлена ​​только одна версия двоичных файлов Wix. И из окна вывода VS 2010 я знаю, что эти exe (тепло, свеча и свет) работают. Тот же файл wixproj работает в VS 2010, но не с Msbuild. Как странно! - person laishiekai; 12.02.2013
comment
Есть новости по этому поводу? Я была такая же проблема. Странно то, что это сработало, а потом я внезапно перестал работать. У меня возникла проблема при нажатии на сборку из VS2010 - person Thai Anh Duc; 15.11.2013