Esempio n. 1
0
        public static Version DameVersion(CPUVersion version)
        {
            Version nuevaVersion = new Version();

            nuevaVersion.cpu = version;

            switch (version)
            {
            case CPUVersion.ZX:
                nuevaVersion.maxEnemigos    = 3;
                nuevaVersion.maxMonedas     = 10;
                nuevaVersion.maxPlataformas = 10;
                break;

            case CPUVersion.MSX:
                nuevaVersion.maxEnemigos    = 3;
                nuevaVersion.maxMonedas     = 10;
                nuevaVersion.maxPlataformas = 10;
                break;

            case CPUVersion.CPC:
                nuevaVersion.maxEnemigos    = 3;
                nuevaVersion.maxMonedas     = 10;
                nuevaVersion.maxPlataformas = 10;
                break;

            case CPUVersion.PC:
                nuevaVersion.maxEnemigos    = 3;
                nuevaVersion.maxMonedas     = 10;
                nuevaVersion.maxPlataformas = 10;
                break;
            }

            return(nuevaVersion);
        }
        //TODO: re-enable this code (RegAsm support)
        static void RegAsm(string filename, bool Uninstall, CPUVersion cpu, FrameworkVersion frameworkVersion)
        {
            switch (frameworkVersion)
            {
            case FrameworkVersion.Net2_0:
                if (frameworkV2_0Dirs == null)
                {
                    GetFrameworkV2_0Directories();
                }
                break;

            case FrameworkVersion.Net4_0:
                if (frameworkV4_0Dirs == null)
                {
                    GetFrameworkV4_0Directories();
                }
                break;
                //TODO: throw an error on unknown framework types
            }

            if (cpu == CPUVersion.x64 && ((frameworkVersion == FrameworkVersion.Net2_0 && frameworkV2_0Dirs.Length < 2) || (frameworkVersion == FrameworkVersion.Net4_0 && frameworkV4_0Dirs.Length < 2)))
            {
                throw new Exception("Cannot register an x64 DLL on an x86 machine.");
            }

            // call 32-bit regasm
            if (cpu != CPUVersion.x64)
            {
                using (Process p = new Process
                {
                    StartInfo =
                    {
                        FileName    = frameworkV2_0Dirs[0] + "\\RegAsm.exe",
                        WindowStyle = ProcessWindowStyle.Hidden,
                        Arguments   =
                            "\"" + filename + "\" " +
                            (Uninstall ? "/nologo /s /u" : "/nologo /s")
                    }
                })
                {
                    p.Start();

                    p.WaitForExit();

                    if (p.ExitCode != 0)
                    {
                        throw new Exception("Failed to register assembly with RegAsm (return code: " + p.ExitCode +
                                            "). File: " + filename);
                    }
                }
            }

            // call 64-bit regasm
            if (cpu == CPUVersion.x64 || cpu == CPUVersion.AnyCPU && frameworkV2_0Dirs.Length == 2)
            {
                using (Process p = new Process
                {
                    StartInfo =
                    {
                        FileName    = frameworkV2_0Dirs[1] + "\\RegAsm.exe",
                        WindowStyle = ProcessWindowStyle.Hidden,
                        Arguments   =
                            "\"" + filename + "\" " +
                            (Uninstall ? "/nologo /s /u" : "/nologo /s")
                    }
                })
                {
                    p.Start();

                    p.WaitForExit();

                    if (p.ExitCode != 0)
                    {
                        throw new Exception("Failed to register assembly with RegAsm (return code: " + p.ExitCode +
                                            "). File: " + filename);
                    }
                }
            }
        }
        //TODO: re-enable this code (RegAsm support)
        static void RegAsm(string filename, bool Uninstall, CPUVersion cpu, FrameworkVersion frameworkVersion)
        {
            switch (frameworkVersion)
            {
                case FrameworkVersion.Net2_0:
                    if (frameworkV2_0Dirs == null)
                        GetFrameworkV2_0Directories();
                    break;
                case FrameworkVersion.Net4_0:
                    if (frameworkV4_0Dirs == null)
                        GetFrameworkV4_0Directories();
                    break;
                    //TODO: throw an error on unknown framework types
            }

            if (cpu == CPUVersion.x64 && ((frameworkVersion == FrameworkVersion.Net2_0 && frameworkV2_0Dirs.Length < 2) || (frameworkVersion == FrameworkVersion.Net4_0 && frameworkV4_0Dirs.Length < 2)))
                throw new Exception("Cannot register an x64 DLL on an x86 machine.");

            // call 32-bit regasm
            if (cpu != CPUVersion.x64)
            {
                using (Process p = new Process
                                       {
                                           StartInfo =
                                               {
                                                   FileName = frameworkV2_0Dirs[0] + "\\RegAsm.exe",
                                                   WindowStyle = ProcessWindowStyle.Hidden,
                                                   Arguments =
                                                       "\"" + filename + "\" " +
                                                       (Uninstall ? "/nologo /s /u" : "/nologo /s")
                                               }
                                       })
                {
                    p.Start();

                    p.WaitForExit();

                    if (p.ExitCode != 0)
                        throw new Exception("Failed to register assembly with RegAsm (return code: " + p.ExitCode +
                                            "). File: " + filename);
                }
            }

            // call 64-bit regasm
            if (cpu == CPUVersion.x64 || cpu == CPUVersion.AnyCPU && frameworkV2_0Dirs.Length == 2)
            {
                using (Process p = new Process
                                       {
                                           StartInfo =
                                               {
                                                   FileName = frameworkV2_0Dirs[1] + "\\RegAsm.exe",
                                                   WindowStyle = ProcessWindowStyle.Hidden,
                                                   Arguments =
                                                       "\"" + filename + "\" " +
                                                       (Uninstall ? "/nologo /s /u" : "/nologo /s")
                                               }
                                       })
                {
                    p.Start();

                    p.WaitForExit();

                    if (p.ExitCode != 0)
                        throw new Exception("Failed to register assembly with RegAsm (return code: " + p.ExitCode +
                                            "). File: " + filename);
                }
            }
        }
Esempio n. 4
0
        public static Version DameVersion(CPUVersion version)
        {
            Version nuevaVersion = new Version();

             nuevaVersion.cpu = version;

             switch (version)
             {
            case CPUVersion.ZX:
               nuevaVersion.maxEnemigos = 3;
               nuevaVersion.maxMonedas = 10;
               nuevaVersion.maxPlataformas = 10;
               break;
            case CPUVersion.MSX:
               nuevaVersion.maxEnemigos = 3;
               nuevaVersion.maxMonedas = 10;
               nuevaVersion.maxPlataformas = 10;
               break;
            case CPUVersion.CPC:
               nuevaVersion.maxEnemigos = 3;
               nuevaVersion.maxMonedas = 10;
               nuevaVersion.maxPlataformas = 10;
               break;
               case CPUVersion.PC:
               nuevaVersion.maxEnemigos = 3;
               nuevaVersion.maxMonedas = 10;
               nuevaVersion.maxPlataformas = 10;
               break;
             }

             return nuevaVersion;
        }