2012-01-09 16 views
0

私のラップトップで問題なく動作するC#サービスがあります(Windows   7)。すぐに私はWindows Server 2003にインストールしましたが、私は次のエラーが出ます。まず、サービスウィンドウでクリックを開始した直後に、私は次のようになります。別のマシンでサービスを開始できません

ローカルコンピュータでMyServiceサービスを開始できませんでした。エラー14001:この アプリケーション構成 が間違っているため、アプリケーションの起動に失敗しました。アプリケーションを再インストールすると、この問題が解決する可能性があります。

ソース:SideBySideイベントID:マニフェストまたはポリシーファイルで58

構文エラー「C:\プログラム ファイル\ HP \私は2つの次のエラーを取得し、イベントビューアで

ライン上のMyServiceで\ MyService.exe.Config」9

出典:SideBySideイベントID:59

生成アクティベーションコンテキストはC:\ Program Files \ HP \ MyService \ MyService.exeに失敗しました。参照エラーメッセージ:マニフェスト 解析エラー:内部エラーです。

.NETアプリケーションには、.NET Framework 4 Client Profileのターゲットフレームワークがあります。ラップトップとサーバーの両方にVCredist 05、08、2010があり、どちらも.NET 4,3.5 3,2,1.1がインストールされています。また

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 

    <appSettings> 
    <!-- Make sure to add \ and end of path --> 
    <add key="xmlDistantFolder" value="\\127.0.0.1\epgdata\" /> 
    <add key="xmlLocalFolder" value="c:\\folder\" /> 

    <add key="runTargetExec" value="disabled" /> 
    <add key="targetExe" value="c:\\Windows\explorer.exe" /> 

    </appSettings> 

</configuration> 

、私は(実際にMyService.exe.configと呼ばれる)私のapp.configファイルサービスが動作しますが、それはこのように、それは無用作り、それに不可欠な構成データを読み取ることができないを削除した場合。

対象のフレームワークを.NET 3.5およびプロジェクトプロパティの[アプリケーション]タブのリソースに変更しました。「デフォルト設定の埋め込みマニフェスト」ではなく「マニフェストなしでアプリケーションを作成する」マニフェストオプションを使用しました。 "

サービスが開始されましたが、設定ファイルで無効な文字についてエラーが表示されます。私はこの値を追加しました。そして、文字の1つがXMLに対して無効であるというエラーを生成します。すべての手がかりは?

<add key="url" value="http://127.0.0.1/node/exec?path=c:\\\\Program Files\\\\myApp\\\\&exec=myExecutable.exe&flags=[%22/nouser%22,%22/console%22]" /> 
+0

ファイルは最後のC:¥Program Files¥HP¥MyService¥MyService.exe.Configにありますか、それともプロジェクトのapp.configですか? –

+0

投稿に表示される設定は、サービスインストールパスのMyService.exe.Configにあります。 9行目のものを削除すると、別の行にエラーがあると表示されます。 – guiomie

答えて

2

は私の問題を解決する:

  1. サイド・バイ・サイドのエラーを修正するには、私は、デフォルト設定でマニフェストの代わりに「埋め込み「マニフェストなしでアプリケーションを作成する」のマニフェストオプションを設定します"

  2. 私の設定ファイルで無効な文字を修正するために、&amp;&を変更しました。これにより、XMLがConfiguration Managerクラスによって有効かつ解析可能になります。

1
<add key="xmlLocalFolder" value="c:\\folder\" /> 
<add key="targetExe" value="c:\\Windows\explorer.exe" /> 

私はパースエラーが発生すると、あなたが見ていることを確認することはできませんが、おそらく

<add key="xmlLocalFolder" value="c:\folder\" /> 
<add key="targetExe" value="c:\Windows\explorer.exe" /> 

でなければなりません。ここで

+0

いいえ、これは何も変わりません。 – guiomie

関連する問題