示例#1
0
    // Additional Tests Wanted:
    // [] File exists but we don't have permission to read it
    // [] DLL has unknown codepage info
    // [] DLL language/codepage is 8-hex-digits (locale > 0x999) (different codepath)

    private static void VerifyVersionInfo(String filePath, MyFVI expected)
    {
        Console.WriteLine("Testing binary: " + filePath);
        FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(filePath);

        Console.WriteLine("Got the fvi: " + fvi);
        TestStringProperty("Comments", fvi.Comments, expected.Comments);
        TestStringProperty("CompanyName", fvi.Comments, expected.Comments);
        TestProperty <int>("FileBuildPart", fvi.FileBuildPart, expected.FileBuildPart);
        TestStringProperty("FileDescription", fvi.FileDescription, expected.FileDescription);
        TestProperty <int>("FileMajorPart", fvi.FileMajorPart, expected.FileMajorPart);
        TestProperty <int>("FileMinorPart", fvi.FileMinorPart, expected.FileMinorPart);
        TestStringProperty("FileName", fvi.FileName, expected.FileName);
        TestProperty <int>("FilePrivatePart", fvi.FilePrivatePart, expected.FilePrivatePart);
        TestStringProperty("FileVersion", fvi.FileVersion, expected.FileVersion);
        TestStringProperty("InternalName", fvi.InternalName, expected.InternalName);
        TestProperty <bool>("IsDebug", fvi.IsDebug, expected.IsDebug);
        TestProperty <bool>("IsPatched", fvi.IsPatched, expected.IsPatched);
        TestProperty <bool>("IsPrivateBuild", fvi.IsPrivateBuild, expected.IsPrivateBuild);
        TestProperty <bool>("IsPreRelease", fvi.IsPreRelease, expected.IsPreRelease);
        TestProperty <bool>("IsSpecialBuild", fvi.IsSpecialBuild, expected.IsSpecialBuild);
        TestStringProperty("Language", fvi.Language, expected.Language, expected.Language2, false);
        TestStringProperty("LegalCopyright", fvi.LegalCopyright, expected.LegalCopyright, false);
        TestStringProperty("LegalTrademarks", fvi.LegalTrademarks, expected.LegalTrademarks);
        TestStringProperty("OriginalFilename", fvi.OriginalFilename, expected.OriginalFilename);
        TestStringProperty("PrivateBuild", fvi.PrivateBuild, expected.PrivateBuild);
        TestProperty <int>("ProductBuildPart", fvi.ProductBuildPart, expected.ProductBuildPart);
        TestProperty <int>("ProductMajorPart", fvi.ProductMajorPart, expected.ProductMajorPart);
        TestProperty <int>("ProductMinorPart", fvi.ProductMinorPart, expected.ProductMinorPart);
        TestStringProperty("ProductName", fvi.ProductName, expected.ProductName, false);
        TestProperty <int>("ProductPrivatePart", fvi.ProductPrivatePart, expected.ProductPrivatePart);
        TestStringProperty("ProductVersion", fvi.ProductVersion, expected.ProductVersion, false);
        TestStringProperty("SpecialBuild", fvi.SpecialBuild, expected.SpecialBuild);

        //ToString
        String nl = "\r\n";

        TestStringProperty("ToString()", fvi.ToString(),
                           "File:             " + fvi.FileName + nl +
                           "InternalName:     " + fvi.InternalName + nl +
                           "OriginalFilename: " + fvi.OriginalFilename + nl +
                           "FileVersion:      " + fvi.FileVersion + nl +
                           "FileDescription:  " + fvi.FileDescription + nl +
                           "Product:          " + fvi.ProductName + nl +
                           "ProductVersion:   " + fvi.ProductVersion + nl +
                           "Debug:            " + fvi.IsDebug.ToString() + nl +
                           "Patched:          " + fvi.IsPatched.ToString() + nl +
                           "PreRelease:       " + fvi.IsPreRelease.ToString() + nl +
                           "PrivateBuild:     " + fvi.IsPrivateBuild.ToString() + nl +
                           "SpecialBuild:     " + fvi.IsSpecialBuild.ToString() + nl +
                           "Language:         " + fvi.Language + nl,
                           false);
    }
示例#2
0
        // Additional Tests Wanted:
        // [] File exists but we don't have permission to read it
        // [] DLL has unknown codepage info
        // [] DLL language/codepage is 8-hex-digits (locale > 0x999) (different codepath)

        private void VerifyVersionInfo(string filePath, MyFVI expected)
        {
            FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(filePath);

            Assert.Equal(expected.Comments, fvi.Comments);
            Assert.Equal(expected.CompanyName, fvi.CompanyName);
            Assert.Equal(expected.FileBuildPart, fvi.FileBuildPart);
            Assert.Equal(expected.FileDescription, fvi.FileDescription);
            Assert.Equal(expected.FileMajorPart, fvi.FileMajorPart);
            Assert.Equal(expected.FileMinorPart, fvi.FileMinorPart);
            Assert.Equal(expected.FileName, fvi.FileName);
            Assert.Equal(expected.FilePrivatePart, fvi.FilePrivatePart);
            Assert.Equal(expected.FileVersion, fvi.FileVersion);
            Assert.Equal(expected.InternalName, fvi.InternalName);
            Assert.Equal(expected.IsDebug, fvi.IsDebug);
            Assert.Equal(expected.IsPatched, fvi.IsPatched);
            Assert.Equal(expected.IsPrivateBuild, fvi.IsPrivateBuild);
            Assert.Equal(expected.IsPreRelease, fvi.IsPreRelease);
            Assert.Equal(expected.IsSpecialBuild, fvi.IsSpecialBuild);
            Assert.Contains(fvi.Language, new[] { expected.Language, expected.Language2 });
            Assert.Equal(expected.LegalCopyright, fvi.LegalCopyright);
            Assert.Equal(expected.LegalTrademarks, fvi.LegalTrademarks);
            Assert.Equal(expected.OriginalFilename, fvi.OriginalFilename);
            Assert.Equal(expected.PrivateBuild, fvi.PrivateBuild);
            Assert.Equal(expected.ProductBuildPart, fvi.ProductBuildPart);
            Assert.Equal(expected.ProductMajorPart, fvi.ProductMajorPart);
            Assert.Equal(expected.ProductMinorPart, fvi.ProductMinorPart);
            Assert.Equal(expected.ProductName, fvi.ProductName);
            Assert.Equal(expected.ProductPrivatePart, fvi.ProductPrivatePart);
            Assert.Equal(expected.ProductVersion, fvi.ProductVersion);
            Assert.Equal(expected.SpecialBuild, fvi.SpecialBuild);

            //ToString
            string nl = Environment.NewLine;

            Assert.Equal("File:             " + fvi.FileName + nl +
                         "InternalName:     " + fvi.InternalName + nl +
                         "OriginalFilename: " + fvi.OriginalFilename + nl +
                         "FileVersion:      " + fvi.FileVersion + nl +
                         "FileDescription:  " + fvi.FileDescription + nl +
                         "Product:          " + fvi.ProductName + nl +
                         "ProductVersion:   " + fvi.ProductVersion + nl +
                         "Debug:            " + fvi.IsDebug.ToString() + nl +
                         "Patched:          " + fvi.IsPatched.ToString() + nl +
                         "PreRelease:       " + fvi.IsPreRelease.ToString() + nl +
                         "PrivateBuild:     " + fvi.IsPrivateBuild.ToString() + nl +
                         "SpecialBuild:     " + fvi.IsSpecialBuild.ToString() + nl +
                         "Language:         " + fvi.Language + nl,
                         fvi.ToString());
        }
示例#3
0
    private static void InitializeExpectedValues()
    {
        // NativeConsoleApp (English)
        s_fviNativeConsoleApp                    = new MyFVI();
        s_fviNativeConsoleApp.Comments           = "";
        s_fviNativeConsoleApp.CompanyName        = "This is not a real company name.";
        s_fviNativeConsoleApp.FileBuildPart      = 3;
        s_fviNativeConsoleApp.FileDescription    = "This is the description for the native console application.";
        s_fviNativeConsoleApp.FileMajorPart      = 5;
        s_fviNativeConsoleApp.FileMinorPart      = 4;
        s_fviNativeConsoleApp.FileName           = Path.Combine(Directory.GetCurrentDirectory(), "NativeConsoleApp.exe");
        s_fviNativeConsoleApp.FilePrivatePart    = 2;
        s_fviNativeConsoleApp.FileVersion        = "5.4.3.2";
        s_fviNativeConsoleApp.InternalName       = "NativeConsoleApp.exe";
        s_fviNativeConsoleApp.IsDebug            = false;
        s_fviNativeConsoleApp.IsPatched          = false;
        s_fviNativeConsoleApp.IsPrivateBuild     = false;
        s_fviNativeConsoleApp.IsPreRelease       = true;
        s_fviNativeConsoleApp.IsSpecialBuild     = true;
        s_fviNativeConsoleApp.Language           = "English (United States)";
        s_fviNativeConsoleApp.LegalCopyright     = "Copyright (C) 2050";
        s_fviNativeConsoleApp.LegalTrademarks    = "";
        s_fviNativeConsoleApp.OriginalFilename   = "NativeConsoleApp.exe";
        s_fviNativeConsoleApp.PrivateBuild       = "";
        s_fviNativeConsoleApp.ProductBuildPart   = 3;
        s_fviNativeConsoleApp.ProductMajorPart   = 5;
        s_fviNativeConsoleApp.ProductMinorPart   = 4;
        s_fviNativeConsoleApp.ProductName        = "NativeConsoleApp";
        s_fviNativeConsoleApp.ProductPrivatePart = 2;
        s_fviNativeConsoleApp.ProductVersion     = "5.4.3.2";
        s_fviNativeConsoleApp.SpecialBuild       = "";

        // NativeLibrary.dll (Chinese)
        s_fviNativeLibrary                    = new MyFVI();
        s_fviNativeLibrary.Comments           = "";
        s_fviNativeLibrary.CompanyName        = "A non-existent company";
        s_fviNativeLibrary.FileBuildPart      = 3;
        s_fviNativeLibrary.FileDescription    = "Here is the description of the native library.";
        s_fviNativeLibrary.FileMajorPart      = 9;
        s_fviNativeLibrary.FileMinorPart      = 9;
        s_fviNativeLibrary.FileName           = Path.Combine(Directory.GetCurrentDirectory(), "NativeLibrary.dll");
        s_fviNativeLibrary.FilePrivatePart    = 3;
        s_fviNativeLibrary.FileVersion        = "9.9.3.3";
        s_fviNativeLibrary.InternalName       = "NativeLi.dll";
        s_fviNativeLibrary.IsDebug            = false;
        s_fviNativeLibrary.IsPatched          = true;
        s_fviNativeLibrary.IsPrivateBuild     = false;
        s_fviNativeLibrary.IsPreRelease       = true;
        s_fviNativeLibrary.IsSpecialBuild     = false;
        s_fviNativeLibrary.Language           = "Chinese (Simplified)";
        s_fviNativeLibrary.Language2          = "Chinese (Simplified, PRC)"; // changed, but not yet on all platforms
        s_fviNativeLibrary.LegalCopyright     = "None";
        s_fviNativeLibrary.LegalTrademarks    = "";
        s_fviNativeLibrary.OriginalFilename   = "NativeLi.dll";
        s_fviNativeLibrary.PrivateBuild       = "";
        s_fviNativeLibrary.ProductBuildPart   = 40;
        s_fviNativeLibrary.ProductMajorPart   = 20;
        s_fviNativeLibrary.ProductMinorPart   = 30;
        s_fviNativeLibrary.ProductName        = "I was never given a name.";
        s_fviNativeLibrary.ProductPrivatePart = 50;
        s_fviNativeLibrary.ProductVersion     = "20.30.40.50";
        s_fviNativeLibrary.SpecialBuild       = "";

        // Mtxex.dll
        s_fviSecondNativeLibrary                    = new MyFVI();
        s_fviSecondNativeLibrary.Comments           = "";
        s_fviSecondNativeLibrary.CompanyName        = "";
        s_fviSecondNativeLibrary.FileBuildPart      = 0;
        s_fviSecondNativeLibrary.FileDescription    = "";
        s_fviSecondNativeLibrary.FileMajorPart      = 0;
        s_fviSecondNativeLibrary.FileMinorPart      = 65535;
        s_fviSecondNativeLibrary.FileName           = Path.Combine(Directory.GetCurrentDirectory(), "SecondNativeLibrary.dll");
        s_fviSecondNativeLibrary.FilePrivatePart    = 2;
        s_fviSecondNativeLibrary.FileVersion        = "0.65535.0.2";
        s_fviSecondNativeLibrary.InternalName       = "SecondNa.dll";
        s_fviSecondNativeLibrary.IsDebug            = false;
        s_fviSecondNativeLibrary.IsPatched          = false;
        s_fviSecondNativeLibrary.IsPrivateBuild     = false;
        s_fviSecondNativeLibrary.IsPreRelease       = false;
        s_fviSecondNativeLibrary.IsSpecialBuild     = false;
        s_fviSecondNativeLibrary.Language           = "Process Default Language";
        s_fviSecondNativeLibrary.LegalCopyright     = "Copyright (C) 1 - 2014";
        s_fviSecondNativeLibrary.LegalTrademarks    = "";
        s_fviSecondNativeLibrary.OriginalFilename   = "SecondNa.dll";
        s_fviSecondNativeLibrary.PrivateBuild       = "";
        s_fviSecondNativeLibrary.ProductBuildPart   = 0;
        s_fviSecondNativeLibrary.ProductMajorPart   = 1;
        s_fviSecondNativeLibrary.ProductMinorPart   = 0;
        s_fviSecondNativeLibrary.ProductName        = "Unkown_Product_Name";
        s_fviSecondNativeLibrary.ProductPrivatePart = 1;
        s_fviSecondNativeLibrary.ProductVersion     = "1.0.0.1";
        s_fviSecondNativeLibrary.SpecialBuild       = "";

        // Assembly1.dll
        s_fviAssembly1                    = new MyFVI();
        s_fviAssembly1.Comments           = "Have you played a Contoso amusement device today?";
        s_fviAssembly1.CompanyName        = "The name of the company.";
        s_fviAssembly1.FileBuildPart      = 2;
        s_fviAssembly1.FileDescription    = "My File";
        s_fviAssembly1.FileMajorPart      = 4;
        s_fviAssembly1.FileMinorPart      = 3;
        s_fviAssembly1.FileName           = Path.Combine(Directory.GetCurrentDirectory(), "Assembly1.dll");
        s_fviAssembly1.FilePrivatePart    = 1;
        s_fviAssembly1.FileVersion        = "4.3.2.1";
        s_fviAssembly1.InternalName       = "Assembly1.dll";
        s_fviAssembly1.IsDebug            = false;
        s_fviAssembly1.IsPatched          = false;
        s_fviAssembly1.IsPrivateBuild     = false;
        s_fviAssembly1.IsPreRelease       = false;
        s_fviAssembly1.IsSpecialBuild     = false;
        s_fviAssembly1.Language           = "Language Neutral";
        s_fviAssembly1.LegalCopyright     = "Copyright, you betcha!";
        s_fviAssembly1.LegalTrademarks    = "TM";
        s_fviAssembly1.OriginalFilename   = "Assembly1.dll";
        s_fviAssembly1.PrivateBuild       = "";
        s_fviAssembly1.ProductBuildPart   = 2;
        s_fviAssembly1.ProductMajorPart   = 4;
        s_fviAssembly1.ProductMinorPart   = 3;
        s_fviAssembly1.ProductName        = "The greatest product EVER";
        s_fviAssembly1.ProductPrivatePart = 1;
        s_fviAssembly1.ProductVersion     = "4.3.2.1";
        s_fviAssembly1.SpecialBuild       = "";

        // Assembly1.cs
        s_fviAssembly1_cs                    = new MyFVI();
        s_fviAssembly1_cs.Comments           = null;
        s_fviAssembly1_cs.CompanyName        = null;
        s_fviAssembly1_cs.FileBuildPart      = 0;
        s_fviAssembly1_cs.FileDescription    = null;
        s_fviAssembly1_cs.FileMajorPart      = 0;
        s_fviAssembly1_cs.FileMinorPart      = 0;
        s_fviAssembly1_cs.FileName           = Path.Combine(Directory.GetCurrentDirectory(), "Assembly1.cs");
        s_fviAssembly1_cs.FilePrivatePart    = 0;
        s_fviAssembly1_cs.FileVersion        = null;
        s_fviAssembly1_cs.InternalName       = null;
        s_fviAssembly1_cs.IsDebug            = false;
        s_fviAssembly1_cs.IsPatched          = false;
        s_fviAssembly1_cs.IsPrivateBuild     = false;
        s_fviAssembly1_cs.IsPreRelease       = false;
        s_fviAssembly1_cs.IsSpecialBuild     = false;
        s_fviAssembly1_cs.Language           = null;
        s_fviAssembly1_cs.LegalCopyright     = null;
        s_fviAssembly1_cs.LegalTrademarks    = null;
        s_fviAssembly1_cs.OriginalFilename   = null;
        s_fviAssembly1_cs.PrivateBuild       = null;
        s_fviAssembly1_cs.ProductBuildPart   = 0;
        s_fviAssembly1_cs.ProductMajorPart   = 0;
        s_fviAssembly1_cs.ProductMinorPart   = 0;
        s_fviAssembly1_cs.ProductName        = null;
        s_fviAssembly1_cs.ProductPrivatePart = 0;
        s_fviAssembly1_cs.ProductVersion     = null;
        s_fviAssembly1_cs.SpecialBuild       = null;
    }
        // Additional Tests Wanted:
        // [] File exists but we don't have permission to read it
        // [] DLL has unknown codepage info
        // [] DLL language/codepage is 8-hex-digits (locale > 0x999) (different codepath)

        private void VerifyVersionInfo(String filePath, MyFVI expected)
        {
            FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(filePath);
            Assert.Equal(expected.Comments, fvi.Comments);
            Assert.Equal(expected.CompanyName, fvi.CompanyName);
            Assert.Equal(expected.FileBuildPart, fvi.FileBuildPart);
            Assert.Equal(expected.FileDescription, fvi.FileDescription);
            Assert.Equal(expected.FileMajorPart, fvi.FileMajorPart);
            Assert.Equal(expected.FileMinorPart, fvi.FileMinorPart);
            Assert.Equal(expected.FileName, fvi.FileName);
            Assert.Equal(expected.FilePrivatePart, fvi.FilePrivatePart);
            Assert.Equal(expected.FileVersion, fvi.FileVersion);
            Assert.Equal(expected.InternalName, fvi.InternalName);
            Assert.Equal(expected.IsDebug, fvi.IsDebug);
            Assert.Equal(expected.IsPatched, fvi.IsPatched);
            Assert.Equal(expected.IsPrivateBuild, fvi.IsPrivateBuild);
            Assert.Equal(expected.IsPreRelease, fvi.IsPreRelease);
            Assert.Equal(expected.IsSpecialBuild, fvi.IsSpecialBuild);
            Assert.Contains(fvi.Language, new[] { expected.Language, expected.Language2 });
            Assert.Equal(expected.LegalCopyright, fvi.LegalCopyright);
            Assert.Equal(expected.LegalTrademarks, fvi.LegalTrademarks);
            Assert.Equal(expected.OriginalFilename, fvi.OriginalFilename);
            Assert.Equal(expected.PrivateBuild, fvi.PrivateBuild);
            Assert.Equal(expected.ProductBuildPart, fvi.ProductBuildPart);
            Assert.Equal(expected.ProductMajorPart, fvi.ProductMajorPart);
            Assert.Equal(expected.ProductMinorPart, fvi.ProductMinorPart);
            Assert.Equal(expected.ProductName, fvi.ProductName);
            Assert.Equal(expected.ProductPrivatePart, fvi.ProductPrivatePart);
            Assert.Equal(expected.ProductVersion, fvi.ProductVersion);
            Assert.Equal(expected.SpecialBuild, fvi.SpecialBuild);

            //ToString
            String nl = Environment.NewLine;
            Assert.Equal("File:             " + fvi.FileName + nl +
                      "InternalName:     " + fvi.InternalName + nl +
                      "OriginalFilename: " + fvi.OriginalFilename + nl +
                      "FileVersion:      " + fvi.FileVersion + nl +
                      "FileDescription:  " + fvi.FileDescription + nl +
                      "Product:          " + fvi.ProductName + nl +
                      "ProductVersion:   " + fvi.ProductVersion + nl +
                      "Debug:            " + fvi.IsDebug.ToString() + nl +
                      "Patched:          " + fvi.IsPatched.ToString() + nl +
                      "PreRelease:       " + fvi.IsPreRelease.ToString() + nl +
                      "PrivateBuild:     " + fvi.IsPrivateBuild.ToString() + nl +
                      "SpecialBuild:     " + fvi.IsSpecialBuild.ToString() + nl +
                      "Language:         " + fvi.Language + nl,
                        fvi.ToString());
        }
示例#5
0
    private void EnsureExpectedValuesInitialized()
    {
        if (_fviNativeConsoleApp != null)
        {
            return;
        }

        // NativeConsoleApp (English)
        _fviNativeConsoleApp                    = new MyFVI();
        _fviNativeConsoleApp.Comments           = "";
        _fviNativeConsoleApp.CompanyName        = "This is not a real company name.";
        _fviNativeConsoleApp.FileBuildPart      = 3;
        _fviNativeConsoleApp.FileDescription    = "This is the description for the native console application.";
        _fviNativeConsoleApp.FileMajorPart      = 5;
        _fviNativeConsoleApp.FileMinorPart      = 4;
        _fviNativeConsoleApp.FileName           = Path.Combine(Directory.GetCurrentDirectory(), NativeConsoleAppFileName);
        _fviNativeConsoleApp.FilePrivatePart    = 2;
        _fviNativeConsoleApp.FileVersion        = "5.4.3.2";
        _fviNativeConsoleApp.InternalName       = NativeConsoleAppFileName;
        _fviNativeConsoleApp.IsDebug            = false;
        _fviNativeConsoleApp.IsPatched          = false;
        _fviNativeConsoleApp.IsPrivateBuild     = false;
        _fviNativeConsoleApp.IsPreRelease       = true;
        _fviNativeConsoleApp.IsSpecialBuild     = true;
        _fviNativeConsoleApp.Language           = GetFileVersionLanguage(0x0409);//English (United States)
        _fviNativeConsoleApp.LegalCopyright     = "Copyright (C) 2050";
        _fviNativeConsoleApp.LegalTrademarks    = "";
        _fviNativeConsoleApp.OriginalFilename   = NativeConsoleAppFileName;
        _fviNativeConsoleApp.PrivateBuild       = "";
        _fviNativeConsoleApp.ProductBuildPart   = 3;
        _fviNativeConsoleApp.ProductMajorPart   = 5;
        _fviNativeConsoleApp.ProductMinorPart   = 4;
        _fviNativeConsoleApp.ProductName        = Path.GetFileNameWithoutExtension(NativeConsoleAppFileName);
        _fviNativeConsoleApp.ProductPrivatePart = 2;
        _fviNativeConsoleApp.ProductVersion     = "5.4.3.2";
        _fviNativeConsoleApp.SpecialBuild       = "";

        // NativeLibrary.dll (Chinese)
        _fviNativeLibrary                    = new MyFVI();
        _fviNativeLibrary.Comments           = "";
        _fviNativeLibrary.CompanyName        = "A non-existent company";
        _fviNativeLibrary.FileBuildPart      = 3;
        _fviNativeLibrary.FileDescription    = "Here is the description of the native library.";
        _fviNativeLibrary.FileMajorPart      = 9;
        _fviNativeLibrary.FileMinorPart      = 9;
        _fviNativeLibrary.FileName           = Path.Combine(Directory.GetCurrentDirectory(), NativeLibraryFileName);
        _fviNativeLibrary.FilePrivatePart    = 3;
        _fviNativeLibrary.FileVersion        = "9.9.3.3";
        _fviNativeLibrary.InternalName       = "NativeLi.dll";
        _fviNativeLibrary.IsDebug            = false;
        _fviNativeLibrary.IsPatched          = true;
        _fviNativeLibrary.IsPrivateBuild     = false;
        _fviNativeLibrary.IsPreRelease       = true;
        _fviNativeLibrary.IsSpecialBuild     = false;
        _fviNativeLibrary.Language           = GetFileVersionLanguage(0x0004); //Chinese (Simplified)
        _fviNativeLibrary.Language2          = GetFileVersionLanguage(0x0804); //Chinese (Simplified, PRC) - changed, but not yet on all platforms
        _fviNativeLibrary.LegalCopyright     = "None";
        _fviNativeLibrary.LegalTrademarks    = "";
        _fviNativeLibrary.OriginalFilename   = "NativeLi.dll";
        _fviNativeLibrary.PrivateBuild       = "";
        _fviNativeLibrary.ProductBuildPart   = 40;
        _fviNativeLibrary.ProductMajorPart   = 20;
        _fviNativeLibrary.ProductMinorPart   = 30;
        _fviNativeLibrary.ProductName        = "I was never given a name.";
        _fviNativeLibrary.ProductPrivatePart = 50;
        _fviNativeLibrary.ProductVersion     = "20.30.40.50";
        _fviNativeLibrary.SpecialBuild       = "";

        // Mtxex.dll
        _fviSecondNativeLibrary                    = new MyFVI();
        _fviSecondNativeLibrary.Comments           = "";
        _fviSecondNativeLibrary.CompanyName        = "";
        _fviSecondNativeLibrary.FileBuildPart      = 0;
        _fviSecondNativeLibrary.FileDescription    = "";
        _fviSecondNativeLibrary.FileMajorPart      = 0;
        _fviSecondNativeLibrary.FileMinorPart      = 65535;
        _fviSecondNativeLibrary.FileName           = Path.Combine(Directory.GetCurrentDirectory(), SecondNativeLibraryFileName);
        _fviSecondNativeLibrary.FilePrivatePart    = 2;
        _fviSecondNativeLibrary.FileVersion        = "0.65535.0.2";
        _fviSecondNativeLibrary.InternalName       = "SecondNa.dll";
        _fviSecondNativeLibrary.IsDebug            = false;
        _fviSecondNativeLibrary.IsPatched          = false;
        _fviSecondNativeLibrary.IsPrivateBuild     = false;
        _fviSecondNativeLibrary.IsPreRelease       = false;
        _fviSecondNativeLibrary.IsSpecialBuild     = false;
        _fviSecondNativeLibrary.Language           = GetFileVersionLanguage(0x0400);//Process Default Language
        _fviSecondNativeLibrary.LegalCopyright     = "Copyright (C) 1 - 2014";
        _fviSecondNativeLibrary.LegalTrademarks    = "";
        _fviSecondNativeLibrary.OriginalFilename   = "SecondNa.dll";
        _fviSecondNativeLibrary.PrivateBuild       = "";
        _fviSecondNativeLibrary.ProductBuildPart   = 0;
        _fviSecondNativeLibrary.ProductMajorPart   = 1;
        _fviSecondNativeLibrary.ProductMinorPart   = 0;
        _fviSecondNativeLibrary.ProductName        = "Unkown_Product_Name";
        _fviSecondNativeLibrary.ProductPrivatePart = 1;
        _fviSecondNativeLibrary.ProductVersion     = "1.0.0.1";
        _fviSecondNativeLibrary.SpecialBuild       = "";

        // Assembly1.dll
        _fviAssembly1                    = new MyFVI();
        _fviAssembly1.Comments           = "Have you played a Contoso amusement device today?";
        _fviAssembly1.CompanyName        = "The name of the company.";
        _fviAssembly1.FileBuildPart      = 2;
        _fviAssembly1.FileDescription    = "My File";
        _fviAssembly1.FileMajorPart      = 4;
        _fviAssembly1.FileMinorPart      = 3;
        _fviAssembly1.FileName           = Path.Combine(Directory.GetCurrentDirectory(), TestAssemblyFileName);
        _fviAssembly1.FilePrivatePart    = 1;
        _fviAssembly1.FileVersion        = "4.3.2.1";
        _fviAssembly1.InternalName       = TestAssemblyFileName;
        _fviAssembly1.IsDebug            = false;
        _fviAssembly1.IsPatched          = false;
        _fviAssembly1.IsPrivateBuild     = false;
        _fviAssembly1.IsPreRelease       = false;
        _fviAssembly1.IsSpecialBuild     = false;
        _fviAssembly1.Language           = GetFileVersionLanguage(0x0000);//Language Neutral
        _fviAssembly1.LegalCopyright     = "Copyright, you betcha!";
        _fviAssembly1.LegalTrademarks    = "TM";
        _fviAssembly1.OriginalFilename   = TestAssemblyFileName;
        _fviAssembly1.PrivateBuild       = "";
        _fviAssembly1.ProductBuildPart   = 2;
        _fviAssembly1.ProductMajorPart   = 4;
        _fviAssembly1.ProductMinorPart   = 3;
        _fviAssembly1.ProductName        = "The greatest product EVER";
        _fviAssembly1.ProductPrivatePart = 1;
        _fviAssembly1.ProductVersion     = "4.3.2.1";
        _fviAssembly1.SpecialBuild       = "";

        // Assembly1.cs
        _fviAssembly1_cs                    = new MyFVI();
        _fviAssembly1_cs.Comments           = null;
        _fviAssembly1_cs.CompanyName        = null;
        _fviAssembly1_cs.FileBuildPart      = 0;
        _fviAssembly1_cs.FileDescription    = null;
        _fviAssembly1_cs.FileMajorPart      = 0;
        _fviAssembly1_cs.FileMinorPart      = 0;
        _fviAssembly1_cs.FileName           = Path.Combine(Directory.GetCurrentDirectory(), TestCsFileName);
        _fviAssembly1_cs.FilePrivatePart    = 0;
        _fviAssembly1_cs.FileVersion        = null;
        _fviAssembly1_cs.InternalName       = null;
        _fviAssembly1_cs.IsDebug            = false;
        _fviAssembly1_cs.IsPatched          = false;
        _fviAssembly1_cs.IsPrivateBuild     = false;
        _fviAssembly1_cs.IsPreRelease       = false;
        _fviAssembly1_cs.IsSpecialBuild     = false;
        _fviAssembly1_cs.Language           = null;
        _fviAssembly1_cs.LegalCopyright     = null;
        _fviAssembly1_cs.LegalTrademarks    = null;
        _fviAssembly1_cs.OriginalFilename   = null;
        _fviAssembly1_cs.PrivateBuild       = null;
        _fviAssembly1_cs.ProductBuildPart   = 0;
        _fviAssembly1_cs.ProductMajorPart   = 0;
        _fviAssembly1_cs.ProductMinorPart   = 0;
        _fviAssembly1_cs.ProductName        = null;
        _fviAssembly1_cs.ProductPrivatePart = 0;
        _fviAssembly1_cs.ProductVersion     = null;
        _fviAssembly1_cs.SpecialBuild       = null;
    }