1#define MY_VS_FFI_FILEFLAGSMASK  0x0000003FL
2#define MY_VOS_NT_WINDOWS32  0x00040004L
3#define MY_VOS_CE_WINDOWS32  0x00050004L
4
5#define MY_VFT_APP  0x00000001L
6#define MY_VFT_DLL  0x00000002L
7
8// #include <WinVer.h>
9#include "MyVersion.h"
10
11#define MY_VER MY_VER_MAJOR,MY_VER_MINOR,MY_VER_BUILD,0
12
13#ifdef DEBUG
14#define DBG_FL VS_FF_DEBUG
15#else
16#define DBG_FL 0
17#endif
18
19#define MY_VERSION_INFO(fileType, descr, intName, origName)  \
20LANGUAGE 9, 1 \
211 VERSIONINFO \
22  FILEVERSION MY_VER \
23  PRODUCTVERSION MY_VER \
24  FILEFLAGSMASK MY_VS_FFI_FILEFLAGSMASK \
25  FILEFLAGS DBG_FL \
26  FILEOS MY_VOS_NT_WINDOWS32 \
27  FILETYPE fileType \
28  FILESUBTYPE 0x0L \
29BEGIN \
30    BLOCK "StringFileInfo" \
31    BEGIN  \
32        BLOCK "040904b0" \
33        BEGIN \
34            VALUE "CompanyName", "Igor Pavlov" \
35            VALUE "FileDescription", descr \
36            VALUE "FileVersion", MY_VERSION  \
37            VALUE "InternalName", intName \
38            VALUE "LegalCopyright", MY_COPYRIGHT \
39            VALUE "OriginalFilename", origName \
40            VALUE "ProductName", "7-Zip" \
41            VALUE "ProductVersion", MY_VERSION \
42        END \
43    END \
44    BLOCK "VarFileInfo" \
45    BEGIN \
46        VALUE "Translation", 0x409, 1200 \
47    END \
48END
49
50#define MY_VERSION_INFO_APP(descr, intName) MY_VERSION_INFO(MY_VFT_APP, descr, intName, intName ".exe")
51
52#define MY_VERSION_INFO_DLL(descr, intName) MY_VERSION_INFO(MY_VFT_DLL, descr, intName, intName ".dll")
53