Sebagai bagian dari proses pembangunan kami, saya perlu mengatur informasi versi untuk semua binari terkompilasi kami. Beberapa binari sudah memiliki informasi versi (ditambahkan pada waktu kompilasi) dan beberapa tidak.
Saya ingin dapat menerapkan informasi berikut:
- Nama Perusahaan
- Pemberitahuan Hak Cipta
- nama Produk
- Deskripsi Produk
- Versi File
- Versi Produk
Semua atribut ini ditentukan oleh skrip build dan harus diterapkan setelah kompilasi. Ini adalah binari standar (bukan rakitan) yang dikompilasi dengan C ++ Builder 2007.
Bagaimana saya bisa melakukan ini?
UpdateResource
fungsi penggunaan , jika versi pembaruan tugas di pe yang adaJawaban:
Meskipun ini bukan proses batch, Visual Studio juga dapat menambahkan / mengedit sumber file.
Cukup gunakan File-> Open-> File di .EXE atau .DLL. Ini berguna untuk memperbaiki informasi versi pasca-pembuatan, atau menambahkannya ke file yang tidak memiliki sumber daya ini.
sumber
Tidak seperti banyak jawaban lainnya, solusi ini menggunakan perangkat lunak yang sepenuhnya gratis.
Pertama, buat file bernama
Resources.rc
seperti ini:Selanjutnya, gunakan GoRC untuk mengkompilasinya menjadi
.res
file menggunakan:(lihat komentar saya di bawah untuk cermin
GoRC.exe
)Kemudian gunakan Resource Hacker dalam mode CLI untuk menambahkannya ke yang sudah ada
.exe
:Itu dia!
sumber
ResourceHacker.exe -open Source.dll -save Changed.dll -action addoverwrite -resource Version.res
Selain itu, ResourceHacker dapat mengkompilasi file .rc itu sendiri:ResourceHacker.exe -open Version.rc -save Version.res -action compile
Atau Anda dapat memeriksa StampVer freeware untuk file exe / dll Win32.
Ini hanya akan mengubah file dan versi produk jika mereka sudah memiliki sumber versi. Itu tidak dapat menambahkan sumber versi jika tidak ada.
sumber
rcedit relatif baru dan berfungsi dengan baik dari baris perintah: https://github.com/atom/rcedit
Ada juga modul NPM yang membungkusnya dari JavaScript dan tugas Grunt jika Anda menggunakan Grunt.
sumber
Bagaimana dengan sesuatu yang seperti ini?
Tersedia disini dengan sumber lengkap .
sumber
/va /pv
opsi). Versi ini muncul dengan benar di Windows Explorer tetapi karakter terakhir hilang saat diambil dalam kode denganVerQueryValue
. Untuk memperbaiki sumber daya yang buruk, saya melakukan ini: (1) Muat DLL di Resource Hacker. (2) Lihat sumber versi. (3) Kompilasi (ubah sesuatu lalu ubah kembali untuk mengaktifkan tombol). (4) Simpan.Ada alat ini ChangeVersion [1]
Daftar fitur (dari situs web):
Pengungkapan Penuh: Saya tahu orang yang menulis alat ini, saya pernah bekerja dengannya. Tapi ini juga berarti saya tahu dia membuat perangkat lunak berkualitas;)
[1] tautannya sudah mati. Tampaknya ada versi cermin di download.cnet.com .
sumber
"Change Version v2012.9.6.0 - (C)2007-2012 The-Software-Box.com This trial version has expired"
Saya melakukannya tanpa alat tambahan. Saya baru saja menambahkan file berikut ke proyek aplikasi Win32 saya.
Satu file header yang mendefinisikan beberapa konstanta daripada yang dapat kita gunakan kembali pada file resource kita dan bahkan pada kode program. Kami hanya perlu memelihara satu file. Terima kasih kepada tim Qt yang menunjukkan kepada saya cara melakukannya pada proyek Qt, sekarang juga berfungsi di aplikasi Win32 saya.
---- [version.h] ----
---- [MyProjectVersion.rc] ----
sumber
#include <windows.h>
dalamresource.h
file yang ditambahkan secara otomatis. File itu tidak dibuat ulang (catatan di bagian atas file .rc ini menunjukkan kode itu dibuat, dan dapat dimodifikasi di desainer).verpatch bagus, tetapi tidak menangani karakter unicode ...
coba ResourceLib
sumber
Ada banyak alat, disebutkan oleh banyak jawaban bagus, saya akan memilih satu.
Peretas Sumber Daya
Saya mengunduh versi terbaru ( 5.1.7 ) dari [AngusJ]: Resource Hacker . Semua informasi yang diperlukan dapat ditemukan di halaman itu (opsi baris perintah, skrip, ...). Dalam panduan berikut, saya akan mengoperasikan 2 file yang dapat dieksekusi (tikus lab) yang (untuk alasan yang jelas) saya salin di cwd saya :
Sebelum melangkah lebih jauh, saya ingin menyebutkan bahwa ResourceHacker memiliki keluaran terminal yang lucu , dan fragmen salin / tempel berikut mungkin menghasilkan sedikit kebingungan.
1. Penyiapan
Ini lebih seperti langkah awal, untuk berkenalan dengan lingkungan, untuk menunjukkan tidak ada bisnis funky yang terjadi, ...
Seperti yang terlihat, executable baik-baik saja, mereka berjalan dengan baik, dan inilah tampilan Detail mereka (yang kami pedulikan):
2. Sumberdaya
File sumber daya adalah file teks yang berisi sumber daya. Sumber daya (disederhanakan) memiliki:
Untuk lebih jelasnya periksa [MS.Docs]: Tentang File Sumber Daya . Ada banyak alat (disebutkan dalam jawaban yang ada) yang memfasilitasi pengeditan file sumber daya seperti:
Tapi, karena ini tentang Resource Hacker , dan:
Saya akan menggunakannya untuk langkah ini (
-action extract
)Selanjutnya, Agar sumber daya dapat disematkan ke .exe ( .dll , ...), sumber daya harus dikompilasi ke dalam bentuk biner, yang cocok dengan format PE . Sekali lagi, ada banyak alat yang dapat mencapai ini, tetapi seperti yang Anda duga, saya akan tetap menggunakan Resource Hacker (
-action compile
).Dalam kasus Anda, menyimpan dan mengedit file sumber daya tidak diperlukan, karena file tersebut sudah ada, saya hanya melakukannya untuk mendemonstrasikan tujuan. Di bawah ini adalah file sumber daya setelah dimodifikasi (dan sebelum dikompilasi).
sample.rc :
3. Sematkan
Ini juga akan dilakukan oleh Resource Hacker (
-action addoverwrite
). Sejak .exe s sudah disalin, saya akan mengedit sumber dayanya.Seperti yang terlihat, saya harus melakukan sedikit trik ( gainarie ) karena saya tidak bisa (setidaknya saya rasa saya tidak bisa) memodifikasi .exe saat sedang digunakan.
4. Uji
Ini adalah fase opsional, untuk memastikan bahwa:
Dan Detail mereka :
sumber
Ada Resource Tuner Console dari Heaventools Software.
Lihat secara khusus halaman Mengubah Variabel Versi dan Memperbarui Informasi Versi untuk lebih jelasnya.
sumber
Sedikit terlambat ke pesta, tetapi karena saya sedang mencarinya (dan saya mungkin perlu menemukannya lagi suatu saat), inilah yang saya lakukan untuk memasukkan versi, nama perusahaan, dll. Ke dalam C ++ DLL saya di bawah VS2013 Express:
Semoga ini membantu!
sumber
yang di atas jawaban dari @DannyBeckett banyak membantu saya,
Saya meletakkan yang berikut ini dalam file batch & saya menempatkannya di folder yang sama di mana ResourceHacker.exe & EXE yang saya kerjakan berada & berfungsi dengan sangat baik. [Anda dapat mengeditnya agar sesuai dengan kebutuhan Anda]
[Sebagai catatan tambahan, saya juga menggunakan peretas sumber daya untuk mengompilasi file res, bukan GoRC]
sumber
Anda sebenarnya dapat mencoba mengunduh FVIE dari Tautan Unduhan dan mencoba mengedit informasi untuk file .exe apa pun.
(ATAU)
Anda dapat mendownload StampVer - Win32 Version Resource Stamping dari Link Download yang sangat berguna untuk file windows .exe.
(ATAU)
Anda dapat menggunakan alat perintah yang disebut RCEDIT . Unduh dari tautan Sumber Github dan kemudian buat menggunakan Visual Studio 2015 dan kemudian Anda memiliki perintah khusus untuk mengubah versi file .exe. Lihat tautan Docs untuk berbagai perintah yang tersedia.
sumber
Ini adalah alat terbaik yang pernah saya lihat untuk pekerjaan itu, memungkinkan kontrol penuh atas semua sumber daya file, termasuk VersionInfo.
Lihat: ResourceEditor oleh Anders Melander .
sumber