2012-03-02 6 views
2

.NETアプリケーション用のmsiファイルを作成しようとすると次の例外が発生します。WiX light.exeが演算処理をスローするオーバーフロー例外が発生しました

----------+++ 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. 

問題が発生している可能性がありますか?

+0

問題は "時々" が再生されます。数分後、同じプロジェクトが変更されずにビルドされました。 – ideafixxxer

答えて

0

wixバイナリwix.dllに問題があります。奇妙な部分は、それが働いていて、失敗することがあるということです。この問題を解決するには、コードを操作した後でこのアセンブリを構築する必要があります。以下は、問題を解決するための手順です。

  1. http://sourceforge.net/」のコードをダウンロードしてください。
  2. VS 2010環境でコードをビルドします。
  3. SummaryInformation.SetPropertyコードを訂正するには、次のようにします。 a。まずintに直接キャストするのではなく、long変数の上位バイトと下位バイトを収集します。 b。例外的な手渡しをこのメソッドに追加します。
  4. アセンブリバージョン2.0.5805.0を追加します。
  5. アセンブリファイルバージョン2.0.5805.0を追加します。
  6. VS 2010を使用してwix.dllアセンブリを作成します。
  7. ダウンロードバイナリwix.dllファイルに存在する公開キーと公開キートークンを変更します。
  8. 新しいビルドwix.dllをプロジェクトにコピーすると、作業が開始されます。

よろしく Navanit Katiyar GlobalLogic PVT株式会社

関連する問題