就像标题所说,我正试图通过我用WPF C#编写的应用程序安装.exe 静默(例如,inkscape)。问题是,我使用的安装过程总是返回异常并失败。
以下是我使用的代码:
public static bool StartInstall(string pathtofile)
{
try
{
Process process = new Process();
process.StartInfo.FileName = "Temp.exe";
process.StartInfo.Arguments = string.Format(" /S", pathtofile);
process.Start();
process.WaitForExit();
Console.WriteLine("Silent Install was successful.");
return true;
}
catch
{
MessageBox.Show("Error!");
return false;
}
}
根据this网站,NSIS打包exes的静默安装开关是/ S.不过,我不确定我是否在语法上做错了。
我正在使用的代码来自this stackoverflow帖子。它适用于.msi包。也许它对NSIS exes不起作用?
我对它为什么不起作用相对无能为力。上面的代码将在“process.Start()”行崩溃,很可能是因为一个未知的命令或其他东西。
如果有人能说明如何为NSIS安装程序启动该过程,我会感激不尽。
答案 0 :(得分:0)
我已经在csharpfolk的帮助下解决了这个问题。
我的问题是两个不同原因的组合:
首先,确实需要管理员权限才能运行该应用程序。
其次,“process.StartInfo.Filename”行需要文件的完整路径。一旦我将其更改为“C:\ Downloads \ Temp.exe”,它就能正常工作。