Beispiel #1
0
        private Task CopyIconAsync()
        {
            string sevenDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).ToString(), "Seven");

            Directory.CreateDirectory(sevenDir);

            string iconDestination = Path.Combine(sevenDir, "Seven.ico");

            return(ResourcesManager.CopyResourceAsync("Seven.ico", iconDestination));
        }
Beispiel #2
0
        internal override async Task InstallAsync()
        {
            State.Stage = Stage.INSTALLING;

            string path = Path.Combine(Path.GetTempPath(), "Seven.deskthemepack");
            await ResourcesManager.CopyResourceAsync("Seven.deskthemepack", path);

            Process p = new Process
            {
                StartInfo =
                {
                    FileName        = "cmd.exe",
                    Arguments       = $"/C start /wait { path }",
                    CreateNoWindow  = true,
                    UseShellExecute = false,
                }
            };

            p.EnableRaisingEvents = true;
            p.Exited += (s, e) =>
            {
                Process p2 = new Process
                {
                    StartInfo =
                    {
                        FileName        = "taskkill",
                        Arguments       = "/F /IM systemsettings.exe",
                        Verb            = "runas",
                        CreateNoWindow  = true,
                        UseShellExecute = false
                    }
                };
                p2.Start();
            };
            p.Start();

            State.Stage = Stage.DONE;
        }