Silent installasjon av MSU Windows-oppdateringer?

stemmer
2

Jeg opplever lite problem med windows oppdateringer stille installere. Hvorfor trenger jeg det? Jeg har litt kopi av system disk som jeg bruker for ominstallering win7 (med fordelen av .NET Framework, Visual Studio, java og 50+ annen apps installert i gang). Deretter må jeg installere noen viktig oppdatering. Jeg kodet liten utillity i C #, arbeider OK bortsett installerer ikke stille selv bruker startInfo.Arguments = /quiet/norestart/passive;. Ikke stille: Jeg mener det er minst to vinduer som spør om jeg trenger installere eller omstart alternativer i slutten.

Problem snakkes i et annet forum hvor folk er distribusjon av hurtigreparasjoner MSU-filer? men løsningen er litt uklart for meg. Har noen vet noen måte hvordan fikse det? Igjen, startInfo.Arguments = /quiet/norestart/passive; eller startInfo.Arguments = @/qb!+ REBOOT=ReallySuppress+ @/qn; er ikke arbeider og i linken forklart hvorfor. textBox1.Texter plassering af alle hurtigreparasjoner og oppdateringer i en katalog.

{

        string[] filePaths = Directory.GetFiles(textBox1.Text);
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.CreateNoWindow = true;
        startInfo.UseShellExecute = true;
        startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
        //startInfo.Arguments = /quiet/norestart/passive;

        for (int i = 0; i < filePaths.Length; i++)
        {
            label1.Text = Working;
            startInfo.FileName = filePaths[i];
            startInfo.Arguments = @/qb!+ REBOOT=ReallySuppress+ @/qn;

            try
            {
                Process.Start(startInfo.FileName).WaitForExit(); 

            }
               catch (Exception exc)
            {
                MessageBox.Show(exc.Message, , MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }
        label1.Text =  Done ;

        }
Publisert på 31/05/2012 klokken 05:15
kilden bruker
På andre språk...                            


2 svar

stemmer
1

For en start du bare kjeding sammen argumentene uten mellomrom og dermed er bare passerer et enkelt argument som sannsynligvis ikke vil fungere. Prøve

startInfo.Arguments = "/qb! REBOOT=ReallySuppress /qn"
Svarte 31/05/2012 kl. 05:19
kilden bruker

stemmer
0

Endelig har jeg omgås det ved hjelp av ren CMD linje. Silent installere uten vinduer unntatt unntak.

private void button1_Click(object sender, EventArgs e)
    {
        string[] filePaths = Directory.GetFiles(textBox1.Text);
        Process process = new Process();
        process.StartInfo.FileName = "cmd.exe";
        process.StartInfo.CreateNoWindow = true;
        process.StartInfo.UseShellExecute = false;
        process.EnableRaisingEvents = false;

        for (int i = 0; i < filePaths.Length; i++)
        {
            if (i == 0) { label1.Text = "Working On first task"; }
            process.StartInfo.Arguments = "/C " + "@" + "\"" + filePaths[i] + "\"" + " /quiet /norestart";
            process.Start();
            process.WaitForExit();
            label1.Text = (100 * i / filePaths.Length).ToString() + " % is done"; 

        }
        label1.Text = "Done";

    }
Svarte 02/06/2012 kl. 12:46
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more