Inno Setup 是一个免费的 Windows 安装程序制作软件。第一次发表是在 1997 年,Inno Setup 今天在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件。
关键功能:
它是真正免费的软件,即使作为商业使用?
是,它可以完全免费使用,即使作为商业应用程序开发使用。
(注意: “完全免费”不完全是“完全自由”。Inno Setup 是有版权的软件,不是公共域软件,在发行和使用时有一些限制;查阅 LICENSE.TXT 文件获取详细资料。)
-
- private void btn_pack_Click(object sender, EventArgs e)
- {
- string exe = "\"" + @"C:\Program Files (x86)\Inno Setup 5\ISCC.exe" + "\"";
- string cmdline = "\"" + @"F:\文件整理\C#\Start10\Start10\bin\发布\start10.iss" + "\"";
- string output = ExecuteInCmd2(exe, cmdline);
- if (output.Contains("成功编译"))
- {
- MessageBox.Show("Success");
- }
- else
- MessageBox.Show("Fail");
-
- //方式2通过cmd.exe传命令行
- //string cmdline = "\"" + @"C:\Program Files (x86)\Inno Setup 5\ISCC.exe" + "\" \"" + @"F:\文件整理\C#\Start10\Start10\bin\发布\start10.iss"+"\"";
- //string output = ExecuteInCmd(cmdline);
- //if(output.Contains("成功编译"))
- //{
- // MessageBox.Show("Success");
- //}
- //else
- // MessageBox.Show("Fail");
- }
-
- ///
- /// 执行内部命令(cmd.exe 中的命令)
- ///
- /// 命令行
- ///
执行结果 - public static string ExecuteInCmd(string cmdline)
- {
- using (var process = new Process())
- {
- process.StartInfo.FileName = "cmd.exe";
- process.StartInfo.UseShellExecute = false;
- process.StartInfo.RedirectStandardInput = true;
- process.StartInfo.RedirectStandardOutput = true;
- process.StartInfo.RedirectStandardError = true;
- process.StartInfo.CreateNoWindow = true;
- process.Start();
- process.StandardInput.AutoFlush = true;
- process.StandardInput.WriteLine(cmdline + "&exit");
-
- //获取cmd窗口的输出信息
- string output = process.StandardOutput.ReadToEnd();
-
- process.WaitForExit();
- process.Close();
- return output;
- }
- }
-
-
- ///
- /// 执行内部命令(cmd.exe 中的命令)
- ///
- /// 命令行
- ///
执行结果 - public static string ExecuteInCmd2(string exe, string cmdline)
- {
- using (var process = new Process())
- {
- process.StartInfo.Arguments = cmdline;
- process.StartInfo.FileName = exe;
- process.StartInfo.UseShellExecute = false;
- process.StartInfo.RedirectStandardInput = true;
- process.StartInfo.RedirectStandardOutput = true;
- process.StartInfo.RedirectStandardError = true;
- process.StartInfo.CreateNoWindow = true;
- process.Start();
- process.StandardInput.AutoFlush = true;
- //process.StandardInput.WriteLine(cmdline);
-
- //获取cmd窗口的输出信息
- string output = process.StandardOutput.ReadToEnd();
-
- process.WaitForExit();
- process.Close();
- return output;
- }
- }