9

全体の話: Visual Studio Installer (VSI) によって作成されたインストーラーを持つ、派手な .NET プログラムを作成しました。VSI は 2 つのファイル (setup.exe と MyProgramSetup.msi) を作成します。両方のファイルが必要な理由は理解していますが、単一の実行可能インストーラーのみをユーザーに配布したいと考えています。2 つのファイルを表示して、どちらかを選択する必要はありません。

これを行うために、IExpress を使用して 2 つのファイルを自己解凍型アーカイブにマージしました (この回答で見られるように: Merge msi and exe )。これはうまく機能しますが、作成される自己解凍型のアーカイブには醜いアイコンと紛らわしいファイル情報があります (ファイルの説明は「Win32 キャビネット自己解凍」で、その後に 43 個の空白があります)。

アイコンをカスタムのものに置き換え、「説明」、「会社」などのファイルプロパティの一部を変更する必要があります。これをビルドステップとして自動的に実行したいので、コマンドライン/コンソールユーティリティは素晴らしいでしょう。

私はしばらくの間検索しましたが、私が望んでいることを正確に実行するプログラムは 1 つしか見つかりません (ResourceTuner コンソール: http://www.heaventools.com/command-line_resource_editor.htm ) 。予算は0円。

私が望むものを達成するためのより良い方法を知っている人、またはGUIを使用せずに実行可能ファイルのリソースを置き換えることができるプログラムを知っている人はいますか?

ちなみに、実行ファイルを開くことさえできない SiComponents の Resource Builder 3 と、コマンドを実行するとクラッシュする ResEdit も試しました。

resedit.exe -convert "Modified Resources.rc" "MyProgramSetup.exe"
4

3 に答える 3

8

実行可能ファイルを開くと、VisualStudioで編集できます。ただし、コマンドラインから実行する方法があるかどうかはわかりません。

アイコン(exeファイルへの保存を含む)を扱ったまともなCodeProjectの記事があります。

会社名、説明などは、バージョンリソースの一部です。別のCodeProjectの記事では、バージョンリソースの更新について説明していますが、バージョンリソースについては詳しく説明していません。

于 2010-05-22T02:35:11.933 に答える
5

ファイル バージョン情報の質問に答えるだけで、独自のバージョン情報を IExpress .SED ファイルに含めることができます。このサイトでは、IExpress .SED ファイルのセクションと属性に関する詳細を提供しています。組み込み機能を使用する方が、セットアップ exe を後処理するよりも簡単に思えます。

基本的に、.SED ファイルの Options セクションに VersionInfo 参照を含めます。次に、バージョン情報を含むセクションを作成します。

[Options]
VersionInfo=VersionSection

[VersionSection]
FromFile= ;Uses the version info in this executable file
; or specify each attribute 
; or specify the FromFile and override individual attributes
FileDescription=
CompanyName=
FileVersion=
ProductVersion=
OriginalFilename=
LegalCopyright=
ProductName=
InternalName=

ところで、FileVersion は機能しません。YMMV、

于 2012-12-09T18:59:39.403 に答える
3

「reshacker」別名「resource hacker」を見たことがありますか? 主に GUI ツールとして宣伝されていますが、ヘルプ ファイルには、コマンド ライン スクリプトを使用してすべての機能にアクセスできると書かれています。私はその GUI フォームを使用して exe 内のアイコンを変更しました。これにより、他の埋め込みリソースも使用できるようになります。'resource hacker' で検索してみてください。現在のバージョンは 3.4.0 のようです

于 2010-05-22T03:49:29.810 に答える