5

私は独自のファイル形式を持つプロジェクトに取り組んでいます。プロジェクトには、インストールが必要な大きなプログラムと、インストールを必要としない小さなビューアがあります。メインアプリケーションから「セルフオープン」.exeのファイルをエクスポートできるようにしたいと思います。つまり、exeをダブルクリックすると、埋め込まれたファイルが表示されます(これにより、ビューアを次のユーザーに渡すことができます。それを表示できるメインアプリケーションはインストールされていません-ドキュメントを渡すだけです)。

私はこれを行う方法に少し迷っています。私が調査してきた私の2つの考えは行き詰まりました。彼らです:

1)ファイルをビューアに埋め込みます。Visual Studioを使用して手動でこれを行うことができ、そのデモが機能していますが、その場でこれを行う方法がわかりません。

2)ファイルとexeをtempに抽出し、コマンドラインでファイルの名前を使用してexeを実行する自己解凍型アーカイブを作成します。これは簡単で可能に聞こえますが(ハッキーではありますが)、プログラムのアーカイブまたはインストールに、それらすべてを実行するために必要なコマンドラインがないように見えるという問題に遭遇しました。

何か案は?私はそれが簡単であるという理由で2番目を好みます、しかしそれがより防弾/ハッキーが少ないように見えるので最初のもの。

4

2 に答える 2

3

あなたの方法を使う(1):

.NETを使用している場合は、ビューアプログラムを1つのアセンブリにし、ドキュメントを別のアセンブリにしてから、 ILMergeなどを使用してそれらを1つの最終的な実行可能ファイルに結合できます。

ILMergeはコマンドラインプログラムであるため、そのステップを自動化できるはずです。

そうすれば、カスタマイズされたビューアを基本的に「私と一緒にある他のアセンブリをロード」し、おそらく他のアセンブリで関数を呼び出してデータを取得するのはかなり簡単です。

パズルの他の唯一のピースは、「ドキュメント」アセンブリを生成する方法です。手順は完全にはわかりませんが、実行可能であると思われます。

おそらく、CMakeなどを使用してVStudioプロジェクトを生成し、MSBuildを使用してそれをアセンブリにビルドします。

于 2011-06-17T16:10:16.637 に答える
1

exeをドキュメントにバンドルして自己オープンドキュメントにするのはクールなアイデアですが、それが問題の最善の解決策ではないと思います。問題は、ドキュメントがすぐに利用できない特定のビューアを必要とすることです。したがって、ビューアをできるだけ簡単に取得できるようにします。

そして、それはXint0がコメントで提案したものです。ビューアをできるだけ簡単に利用できるようにする方法を見つけます。違法コピーは独自の形式のビューアにすぎないため、著作権侵害について心配する必要はありません。著作権侵害に関心があるのは、開くことができないドキュメントをすでに持っている人だけです。したがって、ビューアを会社のWebサイトに投稿し、完全なソフトウェアを使用している企業に、ビューアへのリンクをWebサイトに投稿して、顧客が簡単に見つけられるようにすることをお勧めします。

于 2011-06-17T16:38:45.460 に答える