例如,假设我的应用程序支持 Epson 打印机和 Canon 打印机。
我想在安装过程中有一个选项,可能是单选按钮,或者更好的是复选框(可以选择两者),上面写着“安装爱普生驱动程序”和“安装佳能驱动程序”。
然后,根据用户选择,安装程序包将仅安装 Epson 驱动程序,或仅安装 Canon 驱动程序,或两者兼而有之。
我想我想要的也可以被描述为有几个先决条件,但是让它们成为可选的。
关于从哪里开始的任何建议?
例如,假设我的应用程序支持 Epson 打印机和 Canon 打印机。
我想在安装过程中有一个选项,可能是单选按钮,或者更好的是复选框(可以选择两者),上面写着“安装爱普生驱动程序”和“安装佳能驱动程序”。
然后,根据用户选择,安装程序包将仅安装 Epson 驱动程序,或仅安装 Canon 驱动程序,或两者兼而有之。
我想我想要的也可以被描述为有几个先决条件,但是让它们成为可选的。
关于从哪里开始的任何建议?
看起来我需要的东西无法从 VS 设置和部署中完成,因为我试图从 msi 运行 msi,这是不允许的。因此,作为一种解决方法,我必须创建一个带有几个复选框和这样的功能的小型“包装”Windows 窗体应用程序
private void InstallComponent(string filePath)
{
System.Diagnostics.Process installerProcess;
installerProcess = System.Diagnostics.Process.Start(filePath);
while (installerProcess.HasExited == false)
{
//indicate progress to user
Application.DoEvents();
System.Threading.Thread.Sleep(250);
}
}
和“安装”按钮,它会做一些类似的事情
private void buttonInstall_Click(object sender, EventArgs e)
{
if (checkBoxCanonDrivers.Checked)
{
InstallComponent("CanonSetup.exe");
}
if (checkBoxEpsonDrivers.Checked)
{
InstallComponent("EpsonSetup.exe");
}
// ............
InstallComponent("MyMainApplicationSetup.exe");
}
现在关闭以使此应用程序灵活,例如从 XML 文件中读取设置文件位置等,但这超出了问题的范围...
我认为您可以在 Visual Studio 部署项目中执行此操作,至少对于简单的情况(我认为最多 4 个复选框,但我可能错了)。请参阅此 MSDN 文章:复选框用户界面对话框;它解释了如何在安装过程中显示一个带有复选框的对话框,并根据复选框的选择来包含或排除文件。