2009-06-23 17 views
5

私はclickonceを使用して公開したいC++コンソールアプリケーションを持っています。普通のC++実行可能ファイルでクリック可能です

mageui.exeツールを実行し、実行可能ファイルと依存ファイルをインポートしてアプリケーションマニフェストを作成すると、app.exeをエントリポイントとして設定できません。私はエントリポイントを設定することができますが、行をクリックして保存すると、ダイアログがクリアされ、有効なエントリポイントがないというエラーが表示されます。

とにかく保存すると、結果のマニフェストでentryPointが空になります。有効なエントリポイントがないため、clickonceは失敗します。

私は次のように手動でエントリポイントを作成しようとしました:

<entryPoint> 
    <assemblyIdentity 
     type='win32' 
     name='My App' 
     version='0.9.1.0' 
     processorArchitecture='msil' 
     language='en-US'/> 
    <commandLine 
     file="app.exe" 
     parameters="run"/> 
    </entryPoint> 

どちらか動作しないこと。

+0

また、私は、processorArchitectureをx86に設定してこれを試してみました。 – Jon

答えて

3

"アセンブリID"とプロセッサアーキテクチャをMSILに設定する間に、エントリポイントが何らかの種類の.NETアセンブリにあると言っているようです。

残念ながら、大まかに検索すると、clickonceでアンマネージド/ネイティブアプリケーションをデプロイできないようです。エントリポイントは管理する必要があります。

hereのようにシムを作成することができます。

0

アプリを管理する必要があります。 ClickOnceは、CLRに組み込まれているセキュリティシステムを使用して、アプリケーションの処理を制限します。ネイティブコードにはそれと似たものはありません。

0

私は同意しませんsee this article. MFCアプリケーションで動作する場合は、他のアンマネージドC++アプリケーションでも動作します。 解決策は、/ clrでコンパイルされたソースファイルを埋め込むことでした。 (C++はMSILにコンパイルできることを覚えておいてください) This article from the MSDN seems to agree too.

関連する問題