Documentation ¶
Overview ¶
Package goversioninfo creates a syso file which contains Microsoft Version Information and an optional icon.
Index ¶
Constants ¶
const ( Cs7ASCII = CharsetID(0) // Cs7ASCII: 0 0000 7-bit ASCII CsJIS = CharsetID(932) // CsJIS: 932 03A4 Japan (Shift ? JIS X-0208) CsKSC = CharsetID(949) // CsKSC: 949 03B5 Korea (Shift ? KSC 5601) CsBig5 = CharsetID(950) // CsBig5: 950 03B6 Taiwan (Big5) CsUnicode = CharsetID(1200) // CsUnicode: 1200 04B0 Unicode CsLatin2 = CharsetID(1250) // CsLatin2: 1250 04E2 Latin-2 (Eastern European) CsCyrillic = CharsetID(1251) // CsCyrillic: 1251 04E3 Cyrillic CsMultilingual = CharsetID(1252) // CsMultilingual: 1252 04E4 Multilingual CsGreek = CharsetID(1253) // CsGreek: 1253 04E5 Greek CsTurkish = CharsetID(1254) // CsTurkish: 1254 04E6 Turkish CsHebrew = CharsetID(1255) // CsHebrew: 1255 04E7 Hebrew CsArabic = CharsetID(1256) // CsArabic: 1256 04E8 Arabic )
CharsetID constants
const ( LngArabic = LangID(0x0401) // LngArabic: 0x0401 Arabic LngBulgarian = LangID(0x0402) // LngBulgarian: 0x0402 Bulgarian LngCatalan = LangID(0x0403) // LngCatalan: 0x0403 Catalan LngTraditionalChinese = LangID(0x0404) // LngTraditionalChinese: 0x0404 Traditional Chinese LngCzech = LangID(0x0405) // LngCzech: 0x0405 Czech LngDanish = LangID(0x0406) // LngDanish: 0x0406 Danish LngGerman = LangID(0x0407) // LngGerman: 0x0407 German LngGreek = LangID(0x0408) // LngGreek: 0x0408 Greek LngUSEnglish = LangID(0x0409) // LngUSEnglish: 0x0409 U.S. English LngCastilianSpanish = LangID(0x040A) // LngCastilianSpanish: 0x040A Castilian Spanish LngFinnish = LangID(0x040B) // LngFinnish: 0x040B Finnish LngFrench = LangID(0x040C) // LngFrench: 0x040C French LngHebrew = LangID(0x040D) // LngHebrew: 0x040D Hebrew LngHungarian = LangID(0x040E) // LngHungarian: 0x040E Hungarian LngIcelandic = LangID(0x040F) // LngIcelandic: 0x040F Icelandic LngItalian = LangID(0x0410) // LngItalian: 0x0410 Italian LngJapanese = LangID(0x0411) // LngJapanese: 0x0411 Japanese LngKorean = LangID(0x0412) // LngKorean: 0x0412 Korean LngDutch = LangID(0x0413) // LngDutch: 0x0413 Dutch LngNorwegianBokmal = LangID(0x0414) // LngNorwegianBokmal: 0x0414 Norwegian ? Bokmal LngPolish = LangID(0x0415) // LngPolish: 0x0415 Polish LngPortugueseBrazil = LangID(0x0416) // LngPortugueseBrazil: 0x0416 Portuguese (Brazil) LngRhaetoRomanic = LangID(0x0417) // LngRhaetoRomanic: 0x0417 Rhaeto-Romanic LngRomanian = LangID(0x0418) // LngRomanian: 0x0418 Romanian LngRussian = LangID(0x0419) // LngRussian: 0x0419 Russian LngCroatoSerbianLatin = LangID(0x041A) // LngCroatoSerbianLatin: 0x041A Croato-Serbian (Latin) LngSlovak = LangID(0x041B) // LngSlovak: 0x041B Slovak LngAlbanian = LangID(0x041C) // LngAlbanian: 0x041C Albanian LngSwedish = LangID(0x041D) // LngSwedish: 0x041D Swedish LngThai = LangID(0x041E) // LngThai: 0x041E Thai LngTurkish = LangID(0x041F) // LngTurkish: 0x041F Turkish LngUrdu = LangID(0x0420) // LngUrdu: 0x0420 Urdu LngBahasa = LangID(0x0421) // LngBahasa: 0x0421 Bahasa LngSimplifiedChinese = LangID(0x0804) // LngSimplifiedChinese: 0x0804 Simplified Chinese LngSwissGerman = LangID(0x0807) // LngSwiss German: 0x0807 Swiss German LngUKEnglish = LangID(0x0809) // LngUKEnglish: 0x0809 U.K. English LngSpanishMexico = LangID(0x080A) // LngSpanishMexico: 0x080A Spanish (Mexico) LngBelgianFrench = LangID(0x080C) // LngBelgian French: 0x080C Belgian French LngSwissItalian = LangID(0x0810) // LngSwiss Italian: 0x0810 Swiss Italian LngBelgianDutch = LangID(0x0813) // LngBelgian Dutch: 0x0813 Belgian Dutch LngNorwegianNynorsk = LangID(0x0814) // LngNorwegianNynorsk: 0x0814 Norwegian ? Nynorsk LngPortuguesePortugal = LangID(0x0816) // LngPortuguese (Portugal): 0x0816 Portuguese (Portugal) LngSerboCroatianCyrillic = LangID(0x081A) // LngSerboCroatianCyrillic: 0x081A Serbo-Croatian (Cyrillic) LngCanadianFrench = LangID(0x0C0C) // LngCanadian French: 0x0C0C Canadian French LngSwissFrench = LangID(0x100C) // LngSwiss French: 0x100C Swiss French )
LangID constants
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CharsetID ¶
type CharsetID uint16
CharsetID must use be a character-set identifier from: https://msdn.microsoft.com/en-us/library/windows/desktop/aa381058(v=vs.85).aspx#charsetID
func (*CharsetID) UnmarshalJSON ¶
UnmarshalJSON converts the string to a CharsetID
type FileVersion ¶
type FileVersion struct { Major int `json:"Major,omitempty"` Minor int `json:"Minor,omitempty"` Patch int `json:"Patch,omitempty"` Build int `json:"Build,omitempty"` }
FileVersion with 3 parts.
func (*FileVersion) GetVersionString ¶
func (f *FileVersion) GetVersionString() string
GetVersionString returns a string representation of the version
type FixedFileInfo ¶
type FixedFileInfo struct { FileVersion FileVersion `json:"FileVersion,omitempty"` ProductVersion FileVersion `json:"ProductVersion,omitempty"` FileFlagsMask string `json:"FileFlagsMask,omitempty"` FileFlags string `json:"FileFlags,omitempty"` FileOS string `json:"FileOS,omitempty"` FileType string `json:"FileType,omitempty"` FileSubType string `json:"FileSubType,omitempty"` }
FixedFileInfo contains file characteristics - leave most of them at the defaults.
type LangID ¶
type LangID uint16
LangID must use be a character-set identifier from: https://msdn.microsoft.com/en-us/library/windows/desktop/aa381058(v=vs.85).aspx#langID
func (*LangID) UnmarshalJSON ¶
UnmarshalJSON converts the string to a LangID
type SizedReader ¶
SizedReader is a *bytes.Buffer.
type StringFileInfo ¶
type StringFileInfo struct { Comments string `json:"Comments,omitempty"` CompanyName string `json:"CompanyName,omitempty"` FileDescription string `json:"FileDescription,omitempty"` FileVersion string `json:"FileVersion,omitempty"` InternalName string `json:"InternalName,omitempty"` LegalCopyright string `json:"LegalCopyright,omitempty"` LegalTrademarks string `json:"LegalTrademarks,omitempty"` OriginalFilename string `json:"OriginalFilename,omitempty"` PrivateBuild string `json:"PrivateBuild,omitempty"` ProductName string `json:"ProductName,omitempty"` ProductVersion string `json:"ProductVersion,omitempty"` SpecialBuild string `json:"SpecialBuild,omitempty"` }
StringFileInfo is what you want to change.
type Translation ¶
type Translation struct { LangID LangID `json:"LangID,omitempty"` CharsetID CharsetID `json:"CharsetID,omitempty"` }
Translation with langid and charsetid.
type VSFixedFileInfo ¶
type VSFixedFileInfo struct { DwSignature uint32 DwStrucVersion uint32 DwFileVersionMS uint32 DwFileVersionLS uint32 DwProductVersionMS uint32 DwProductVersionLS uint32 DwFileFlagsMask uint32 DwFileFlags uint32 DwFileOS uint32 DwFileType uint32 DwFileSubtype uint32 DwFileDateMS uint32 DwFileDateLS uint32 }
VSFixedFileInfo - most of these should be left at the defaults.
type VSString ¶
type VSString struct { WLength uint16 WValueLength uint16 WType uint16 SzKey []byte Padding []byte Value []byte }
VSString holds the keys and values.
type VSStringFileInfo ¶
type VSStringFileInfo struct { WLength uint16 WValueLength uint16 WType uint16 SzKey []byte Padding []byte Children VSStringTable }
VSStringFileInfo holds multiple collections of keys and values, only allows for 1 collection in this package.
type VSStringTable ¶
type VSStringTable struct { WLength uint16 WValueLength uint16 WType uint16 SzKey []byte Padding []byte Children []VSString }
VSStringTable holds a collection of string keys and values.
type VSVar ¶
type VSVar struct { WLength uint16 WValueLength uint16 WType uint16 SzKey []byte Padding []byte Value uint32 }
VSVar holds the translation key.
type VSVarFileInfo ¶
type VSVarFileInfo struct { WLength uint16 WValueLength uint16 WType uint16 SzKey []byte Padding []byte Value VSVar }
VSVarFileInfo holds the translation collection of 1.
type VSVersionInfo ¶
type VSVersionInfo struct { WLength uint16 WValueLength uint16 WType uint16 SzKey []byte Padding1 []byte Value VSFixedFileInfo Padding2 []byte Children VSStringFileInfo Children2 VSVarFileInfo }
VSVersionInfo is the top level version container.
type VarFileInfo ¶
type VarFileInfo struct {
Translation `json:"Translation,omitempty"`
}
VarFileInfo is the translation container.
type VersionInfo ¶
type VersionInfo struct { FixedFileInfo FixedFileInfo `json:"FixedFileInfo,omitempty"` StringFileInfo StringFileInfo `json:"StringFileInfo,omitempty"` VarFileInfo VarFileInfo `json:"VarFileInfo,omitempty"` Timestamp bool `json:"Timestamp,omitempty"` IconPath string `json:"IconPath,omitempty"` ManifestPath string `json:"ManifestPath,omitempty"` // contains filtered or unexported fields }
VersionInfo data container
func (*VersionInfo) Build ¶
func (v *VersionInfo) Build()
Build fills the structs with data from the config file
func (*VersionInfo) ParseJSON ¶
func (vi *VersionInfo) ParseJSON(jsonBytes []byte) error
ParseJSON parses the given bytes as a VersionInfo JSON.
func (*VersionInfo) Walk ¶
func (vi *VersionInfo) Walk()
Walk writes the data buffer with hexidecimal data from the structs
func (*VersionInfo) WriteHex ¶
func (vi *VersionInfo) WriteHex(filename string) error
WriteHex creates a hex file for debugging version info