問題タブ [fileversioninfo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 既存の .exe、.dll のバージョン情報を設定するにはどうすればよいですか?
ビルド プロセスの一環として、コンパイル済みのすべてのバイナリのバージョン情報を設定する必要があります。一部のバイナリには既にバージョン情報があり (コンパイル時に追加されます)、一部はありません。
次の情報を適用できるようにしたい:
- 会社名
- 著作権表示
- 商品名
- 製品説明
- ファイルのバージョン
- 製品バージョン
これらの属性はすべてビルド スクリプトによって指定され、コンパイル後に適用する必要があります。これらは、C++ Builder 2007 でコンパイルされた標準バイナリ (アセンブリではない) です。
これどうやってするの?
c# - C#コンソールアプリケーションの.exe名を取得するにはどうすればよいですか?
VS2008のC#コンソールモードアプリケーションである「xiixtasks.exe」をデバッグしています。
xiixtasks.exeからバージョン情報を取得しようとしています。
「Process.GetCurrentProcess()」を試してみると、xiixtasks.exeではなく、vshost.exeのファイル名とバージョン情報が表示されます。
代わりに何をすべきですか?
前もって感謝します!
================================================== ====
解決:
1)最初の問題は、実際にはIDEの「vshost」ラッパーでした。回避策の1つは、ビルド設定を変更することでした。
2)Assembly.GetExecutingAssembly()。CodeBaseは優れたソリューションです-ありがとうございます! 。デバッガーの内外で機能します。
3)残念ながら、(GetExecutingAssembly()のようなURIの代わりに)通常のファイルパスを期待する関数で呼び出しようとすると、「Uri形式はサポートされていません」という例外で終了しました。
4)最終的な解決策:GetExecutingAssembly()を呼び出し、次にUri.LocalPath()を呼び出します。
もう一度ありがとうございました!
c# - FileVersionInfo がエクスプローラーの [詳細] タブと一致しない
ファイルのリストからバージョン情報を使用C#
して抽出しようとしています。System.Diagnostics.FileVersionInfo
これを行う目的は、一意のファイルパスとバージョンの組み合わせを追跡することです。ファイルが変更されたとき、正確に何が変更されたかに応じて、さまざまなことが起こるようにしたいと思います。
FileVersion
とProductVersion
プロパティの両方FileVersionInfo
を無駄に使用しました。どちらも、エクスプローラーで報告されるものとは異なるバージョン番号を報告します。
explorer.exe を使用した例
c#-4.0 - ファイル パスから .exe ファイルのバージョン番号を取得する方法
C# のコードで .Net 3.5/4.0 を使用しています。
C: ドライブにある exe ファイルのバージョン番号を取得しようとしています。
たとえば、パスは c:\Program\demo.exe です。demo.exe のバージョン番号が 1.0 の場合。
このパスを使用してバージョン番号を取得するにはどうすればよいですか?
c# - C#でファイルを作成するときにファイルバージョンを指定できますか?
私は以下を使用してファイルを作成しています:
ファイルを作成するときに、プログラムでバージョンを指定することはできますか?誰かがFileVersionInfoオブジェクトを使用した場合、私が指定したバージョンを取得するようにするには?
c# - FileVersionInfo は、WPF アプリケーションとコマンド ライン アプリケーションから実行された dll の間で異なる動作をします。
いくつかの環境、つまりビルド マシンで使用される dll を作成しています。プログラムは、ファイルの FileVersion を取得する責任があります。.dll 内で次のコードを使用しています。
WPF テスト アプリケーションからこの関数を実行すると、すべてが正しく動作するように記述しました。FileVersionInfo オブジェクトのすべての値が入力されます。
ただし、コンソール アプリケーション プロジェクト内からこのまったく同じ関数を実行すると、FileVersionObject のすべての値が null になります。
誰が何が起こっているのか知っていますか?
c++ - コンパイルしたexeの説明を修正
コンパイル済みの exe のバージョン情報を変更して、説明を変更したいと考えています。
私はそれを自分で少し調べて、UpdateRessource 関数を使用する必要があることを理解し、ここまで来ました。
私がよく理解できない部分はlpBufferです。ファイルの説明を含むリソースの一部のみを変更したい。
私の推測では、exe から古いバージョンをロードして少し変更する必要があると思いますが、それがどのように構成されているかはよくわかりません。
delphi - TFileStream を使用してファイルから VersionInfo を読み取る
TSream を使用してファイル (exe または dll) から VersionInfo を読み取る必要があります。
ファイルがメモリ (TMemoryStream) にあり、この情報を取得するためにファイルをディスクに書きたくないため、Windows API GetFileVersionInfo を使用できません。いくつかのパフォーマンス制限があります。
誰かが私を助けることができますか?