WiX light.exe генерирует арифметическую операцию, которая вызвала исключение переполнения - PullRequest
2 голосов
/ 02 марта 2012

Я получаю следующее исключение при попытке создать файл MSI для приложения .NET.

----------+++ Linking d:\analytics\trunk\bin64\snapshot.msi
light.exe : error LGHT0001 : Arithmetic operation resulted in an overflow.

Exception Type: System.OverflowException

Stack Trace:
   at Microsoft.Tools.WindowsInstallerXml.Msi.SummaryInformation.SetProperty(Int32 index,     Object property)
   at Microsoft.Tools.WindowsInstallerXml.Binder.UpdateSummaryInfo(Database db)
   at Microsoft.Tools.WindowsInstallerXml.Binder.GenerateDatabase(Output output)
   at Microsoft.Tools.WindowsInstallerXml.Binder.Bind(Output output)
   at Microsoft.Tools.WindowsInstallerXml.Tools.Light.Run(String[] args)
Command returned non zero code - 1.

Кто-нибудь знает, в чем может быть проблема?

1 Ответ

0 голосов
/ 06 мая 2013

Проблема в двоичных файлах wix wix.dll.Странная часть в том, что когда-то это работает, а иногда не получается.Чтобы решить проблему, эта сборка должна быть собрана после манипулирования кодом.Ниже приведены шаги, которые я выполнил для решения проблемы:

  1. Загрузите код с сайта http://sourceforge.net/'.
  2. Создайте код в среде VS 2010.
  3. Исправьте код SummaryInformation.SetProperty, выполнив следующие действия.а.Сначала собирайте верхний и нижний байты в длинных переменных, а не непосредственно приводите к int.б.Добавьте исключительную разметку в этом методе.
  4. Добавьте версию сборки 2.0.5805.0.
  5. Добавьте версию файла сборки 2.0.5805.0.
  6. Сборка сборки wix.dll с использованиемVS 2010.
  7. Измените открытый ключ и токен открытого ключа, как он есть в загружаемом двоичном файле wix.dll.
  8. Скопируйте новую сборку wix.dll в наш проект, и она начнет работать.

С уважением, Наванит Катияр GlobalLogic pvt Ltd.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...