8

Framework 2.0 で構築された .NET アプリケーションがあります。

  • 私はそれ用のインストーラーを作成し、3.5 を搭載したマシンで実行しようとしています。
  • 関連するすべての環境は Windows 7 上にあります
  • このアプリケーションは、Framework 3.5 もある私の開発マシンで VS デバッグ モードで完全に実行されます。
  • インストーラーは、私の開発マシンとユーザーのマシンの両方で正常に動作します
  • インストール後、すぐにプログラムを実行すると、「[プログラム名].exe が動作を停止しました」という結果になり、それ以上の情報はありません
  • ユーザーにFramework 2.0のインストールを試みてもらいましたが、「機能の有効化/無効化ダイアログを使用する必要があります」によってブロックされました
  • DEP、アセンブリを Windows 7 互換モードに設定するなど、他にもいくつか調べました。
  • アプリケーションに特定のエラーがあるとは思いません。スプラッシュ スクリーンがあり、他の処理を行う前に jpeg 画像を表示するだけで、それさえ表示されないからです。全体的な互換性の問題に違いないようです。

次に何をすべきかわかりません。問題を特定できるように、.exe の実行時に追加のエラー情報を取得する方法を誰かが少なくとも提案してくれることを願っています。

前もって感謝します。

マイク

編集1

イベントログで見つけたエラーは次のとおりです。

Log Name:      Application
Source:        Application Error
Date:          10/10/2013 1:42:49 PM
Event ID:      1000
Task Category: (100)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      [my development machine]
Description:
Faulting application name: BARTJr.exe, version: 1.0.0.1, time stamp: 0x5256e6de
Faulting module name: KERNELBASE.dll, version: 6.1.7601.18229, time stamp: 0x51fb1677
Exception code: 0xe0434f4d
Fault offset: 0x000000000000940d
Faulting process id: 0x%9
Faulting application start time: 0x%10
Faulting application path: %11
Faulting module path: %12
Report Id: %13
Event Xml:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Application Error" />
    <EventID Qualifiers="0">1000</EventID>
    <Level>2</Level>
    <Task>100</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2013-10-10T17:42:49.000000000Z" />
    <EventRecordID>19455</EventRecordID>
    <Channel>Application</Channel>
    <Computer>mcaputow7.ezesoft.net</Computer>
    <Security />
  </System>
  <EventData>
    <Data>BARTJr.exe</Data>
    <Data>1.0.0.1</Data>
    <Data>5256e6de</Data>
    <Data>KERNELBASE.dll</Data>
    <Data>6.1.7601.18229</Data>
    <Data>51fb1677</Data>
    <Data>e0434f4d</Data>
    <Data>000000000000940d</Data>
  </EventData>
</Event>

編集2

エラーは、追加情報を含む一時ファイルを参照しています。そのファイルの内容は次のとおりです。

<?xml version="1.0" encoding="UTF-16"?>
<WERReportMetadata>
    <OSVersionInformation>
        <WindowsNTVersion>6.1</WindowsNTVersion>
        <Build>7601 Service Pack 1</Build>
        <Product>(0x1): Windows 7 Ultimate</Product>
        <Edition>Ultimate</Edition>
        <BuildString>7601.18113.amd64fre.win7sp1_gdr.130318-1533</BuildString>
        <Revision>1130</Revision>
        <Flavor>Multiprocessor Free</Flavor>
        <Architecture>X64</Architecture>
        <LCID>1033</LCID>
    </OSVersionInformation>
    <ProblemSignatures>
        <EventType>CLR20r3</EventType>
        <Parameter0>ssms.exe</Parameter0>
        <Parameter1>2011.110.2100.60</Parameter1>
        <Parameter2>4f35e2d9</Parameter2>
        <Parameter3>System.Management</Parameter3>
        <Parameter4>4.0.0.0</Parameter4>
        <Parameter5>4ba1e140</Parameter5>
        <Parameter6>d0</Parameter6>
        <Parameter7>1c</Parameter7>
        <Parameter8>RXOEJIH3RSKJEZ4XXWPXUDKCPPWJODNG</Parameter8>
    </ProblemSignatures>
    <DynamicSignatures>
        <Parameter1>6.1.7601.2.1.0.256.1</Parameter1>
        <Parameter2>1033</Parameter2>
        <Parameter22>0a9e</Parameter22>
        <Parameter23>0a9e372d3b4ad19135b953a78882e789</Parameter23>
        <Parameter24>0a9e</Parameter24>
        <Parameter25>0a9e372d3b4ad19135b953a78882e789</Parameter25>
    </DynamicSignatures>
    <SystemInformation>
        <MID>BAB83330-1394-44F8-8298-044776CE31CB</MID>
        <SystemManufacturer>Microsoft Corporation</SystemManufacturer>
        <SystemProductName>Virtual Machine</SystemProductName>
        <BIOSVersion>090004</BIOSVersion>
    </SystemInformation>
</WERReportMetadata>
4

4 に答える 4

0

最初にエンターポイント (メイン) に以下のコードを入れて、クラッシュする前に例外をキャプチャできるようにします

AppDomain.CurrentDomain.UnhandledException += (sender,e)=>{
    if(e.IsTerminating)
    {
        //TODO: write your log
    }
};
于 2015-12-03T09:52:35.983 に答える
0

私はこれまで何度も経験してきましたが、毎回、対象のコンピューターに、アプリケーションによって参照されるアセンブリ (DLL) がないことが原因です。アプリケーションがすぐに必要なアセンブリを参照すると、たとえばスタートアップ フォーム (Win フォーム プロジェクトの場合) が表示される前に、そのようにクラッシュします。

とにかく、それがあなたの答えだとは約束しませんが、それは注目すべきものです.

于 2013-10-10T16:01:51.990 に答える
0

私はちょうど今この問題を思いつきました.dllの損失が問題の原因であることがわかりました. アプリの更新を強制的に終了させて​​しまったのが原因ではないかと思います。

于 2017-06-15T03:15:59.557 に答える