2011-06-17 10 views
5

私はプロプライエタリなファイル形式のプロジェクトに取り組んでいます。プロジェクトには、インストールに必要な大規模なプログラムと、インストール不要のビューアーがあります。私は自分のメインアプリケーションからファイルをエクスポートすることができるようにしたいと思っています。これはexeをダブルクリックすると埋め込みファイルが表示されます(これは、それを見ることができる主アプリケーションをインストールしていない - 彼らはドキュメントの周りだけを渡します)。自己開封文書の作成

私はこれを行う方法が少し失われています。私が調査してきた私の2つの考えは、行き詰まってしまった。それらは次のとおりです。

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

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

アイデア?私はそれが簡単だから2番目が好きですが、最初はもっと弾力があり/ハッキリしないように見えるからです。 (1)あなたの方法を使用して

+2

10個のドキュメントを送信すると、10個のビューアが送信されますか?一度ビューアを送信してからドキュメントを送信し、ファイルアソシエーションを使用してそれらを開くよりも悪いことではありませんか? – AntonyW

+1

あなたは、HTML、PDF、または誰もが読むことができる他の一般的なファイル形式へのエクスポートにあなたの努力を払うのが良いでしょうか?それとも、それはしませんか? –

+2

@AntonyW:文書は数百メガバイト、ビューアは500KB未満です。私が作ってくれるトレード: – DanTheMan

答えて

1

exeを文書に組み込んで自己開封文書にするのはすばらしいアイデアですが、問題の解決策としては最適ではないと思います。問題は、ドキュメントにはすぐに利用できない特定のビューアが必要であるということです。したがって、視聴者をできるだけ簡単にするようにしてください。

これはコメントでXint0が提案したものです。視聴者をできるだけ容易に利用できるようにする方法を見つけます。独自のフォーマットの唯一のビューアであるため、著作権侵害について心配する必要はありません。興味のある唯一の人々は、すでに開かれていないドキュメントを既に持っている人々です。だからあなたの会社のウェブサイトに視聴者を投稿し、顧客が簡単に見つけることができるように、完全なソフトウェアを使用している企業が自分のウェブサイトに視聴者へのリンクを投稿するよう勧めます。

+0

ええ、コリン、あなたは「私はこの努力を捨てる」を選ぶでしょう。私は何かを簡単にして解決することを望んでいましたが、それは存在するようには見えません。私はこれをやっていることが悪い考えや(あまりにも深刻な)セキュリティホールではないと思いますが、他の誰も試したことがないと思います。しかたがない! – DanTheMan

+0

ありがとうございます。私が言ったように、私は自己開封/閲覧のドキュメントは素晴らしいアイデアだと思う。ある意味では、私はそれが素晴らしいという理由だけでその実装を見たいと思います。しかし、私はまだ視聴者を分散させることがあなたが本当に解決する必要がある問題だと思います。 – Corin

3

は、.NETを使用している場合、あなたはあなたのビューアプログラムは、1つのアセンブリで作ることができ、そして、あなたの文書が別のアセンブリで、その一つに、それらを組み合わせることILMergeなどを使用最終的に実行可能です。

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

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

パズルの唯一の部分は、「ドキュメント」アセンブリの生成方法です。私はステップの完全には分かりませんが、それは実行可能でなければならないようです。

おそらく、CMakeなどを使ってVStudioプロジェクトを生成した後、MSBuildを使用してアセンブリに組み立てます。

関連する問題