Flufy
Flufy

Reputation: 319

Silent installation with target directory path as parameter

In my C# app I run some setup in silent mode. the thing is that I want to enable to the user to choose the target installation directory but don't know how.

This is the silent install that works fine but installing in the default directory:

void RunSilentSetup(string executableFilePath)
        {

            ProcessStartInfo startInfo = new ProcessStartInfo()
            {
                CreateNoWindow = false,
                UseShellExecute = true,
                FileName = executableFilePath,
                WindowStyle = ProcessWindowStyle.Hidden,
                Arguments = "/s /v/qn"
            };
            using (Process exeProcess = Process.Start(startInfo))
            {
                exeProcess.WaitForExit();
                int exitcode = exeProcess.ExitCode;

                if (exitcode == 0)
                {
                    Console.WriteLine("Installation was successfully completed");
                                        }
                else
                    Console.WriteLine("one or more errors occurred during the installation");
            }

        }

But I need something like:

void RunSilentSetup(string executableFilePath, string targetDir)
{
 .
 .
 .
    Arguments = "/s /v/qn"+targetDir,
 .
 .
 .
 }

Here is the setup parameters:

enter image description here

Upvotes: 0

Views: 829

Answers (1)

Nehorai Elbaz
Nehorai Elbaz

Reputation: 2452

Change to:

Arguments = "/s /v/qn /vINSTALLDIR=\"+targetDir+"\"",

If you run it directly from cmd that would be look like:

C:\someFolder\anotherFolder> setup /s /v/qn /vINSTALLDIR="D:\yourTargetDirectory"

Upvotes: 2

Related Questions