8

ファイルパスからインストールされたClickOnceを使用してアプリケーションをデプロイします。24バージョンの場合、完全に機能しています。バージョン25では、アプリケーションをインストールして起動すると、次のエラーが発生します。

代替テキスト

同じマシンで以前の展開をテストすると、機能します。

このエラーの原因を見つけるためにどこから始めればよいですか?私はすでにWindowsのイベントログをチェックしました-何もありません。

編集:ダイアログが表示されている間、一時xmlファイル'WER561D.tmp.WERInternalMetadata.xml'が一時フォルダーに生成されていることに気付きました。内容は次のとおりです(私よりもこの分野に精通している人に役立つ手がかりが含まれている可能性があります)。

<?xml version="1.0" encoding="UTF-16"?>
<WERReportMetadata>
    <OSVersionInformation>
        <WindowsNTVersion>6.1</WindowsNTVersion>
        <Build>7600 </Build>
        <Product>(0x4): Windows 7 Enterprise</Product>
        <Edition>Enterprise</Edition>
        <BuildString>7600.16385.x86fre.win7_rtm.090713-1255</BuildString>
        <Revision>1</Revision>
        <Flavor>Multiprocessor Free</Flavor>
        <Architecture>X86</Architecture>
        <LCID>1033</LCID>
    </OSVersionInformation>
    <ProblemSignatures>
        <EventType>CLR20r3</EventType>
        <Parameter0>applaunch.exe</Parameter0>
        <Parameter1>2.0.50727.4927</Parameter1>
        <Parameter2>4a275abe</Parameter2>
        <Parameter3>mscorlib</Parameter3>
        <Parameter4>2.0.0.0</Parameter4>
        <Parameter5>4a275af7</Parameter5>
        <Parameter6>4f3</Parameter6>
        <Parameter7>0</Parameter7>
        <Parameter8>System.Security.Security</Parameter8>
    </ProblemSignatures>
    <DynamicSignatures>
        <Parameter1>6.1.7600.2.0.0.256.4</Parameter1>
        <Parameter2>1033</Parameter2>
    </DynamicSignatures>
    <SystemInformation>
      -- removed for privacy reasons --
    </SystemInformation>
</WERReportMetadata>

もう1つの重要な点は、Visual Studioを介して公開していることです。手動でマニフェストを編集することは、行われていません。

4

6 に答える 6

9

どうして起こったのかはわかりませんが、問題は特定できたと思います。現在のプロジェクトファイルを、他の変更の中でも特に次の違いを示して機能したバージョンと比較します。

これから:

<GenerateManifests>true</GenerateManifests>

これに:

<GenerateManifests>false</GenerateManifests>
<TargetZone>LocalIntranet</TargetZone>
<ApplicationManifest>Properties\app.manifest</ApplicationManifest>

TargetZoneとApplicationManifestを削除し、GenerateManifestsをfalseに設定すると、機能します。

于 2010-02-10T20:54:16.240 に答える
2

アプリケーションを完全信頼から部分信頼に変更しましたか?それはそれがどのように見えるかです。イントラネットゾーンは、部分信頼セキュリティの一部です。プロジェクトのプロパティページの[セキュリティ]タブを確認します。

次に、「アイコンとマニフェスト」のプロジェクトプロパティページの[アプリケーション]タブで、マニフェストフィールドの値は何ですか。マニフェストなしでアプリケーションを作成しますか?「マニフェストをデフォルト設定で埋め込む」に設定してみて、それが役立つかどうかを確認してください。

于 2010-05-06T05:56:21.710 に答える
1

ClickOnceドキュメントの「ClickOnce配置のトラブルシューティング」セクションを参照してください。

于 2010-02-10T16:14:01.797 に答える
1

ClickOnceは、アプリケーションが信頼できるアプリケーション(s。プロパティ->セキュリティ)であり、マニフェストに次のmanfestファイルのようなより高いUACセキュリティ要件が含まれていない場合にのみ正しく機能します。

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <assemblyIdentity version="1.0.0.0" name="MaxLine5651v1" type="win32" />
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</asmv1:assembly>

より高い特権を要求するマニフェストがある場合、ClickOnceはプロジェクトの公開を受け入れません。

私もこの点で苦労しています。レジストリ、ログ、ファイアウォールの設定にアクセスするためのアプリケーションが必要です。オンラインで更新できるようにしたいと思います。残念ながら、ClickOnceでは機能しません。どんなアイデアでも大歓迎です。

-ゴカン

于 2010-05-05T18:04:05.133 に答える
0

更新後に発生したと言っているので、新しいバージョンを確認しようとするとクラッシュしているようです。

  • ApplicationFiles \ App_1_0_0_1..25など、既存のバージョンを再公開して削除しようとしましたか?
  • これをC1 のMSDNフォーラムでMSに報告しましたか?
  • コードで何が変更されましたか(新しい参照など)

言うのは難しいですが、Window Error Reportingは有用な情報を提供していないようですが、幸運を祈っています。私は通常そうします。

また、system.securityを参照しているため、これは起こりそうにないことを私は知っています。何かを変更しましたか、このリビジョンのネットワークフォルダーの権限は同じですか、セキュリティ要求を追加しましたか?

于 2010-02-10T18:46:32.897 に答える
-1

アプリケーションに小さな変更を加えましたが、これは私たちにはわかりませんが、アプリケーションの実行を停止しました。ClickOnceの問題のデバッグに多くの時間を費やした後、私は最終的にアプリケーションを単独で実行しようとし、問題を発見しました。

この場合、エラーメッセージは誤解を招くものでした。

于 2013-12-13T13:28:04.227 に答える