例如,我的应用程序支持Epson打印机和佳能打印机。
我想在安装过程中有一个选项,可能是单选按钮,或者更好的是,复选框(可以选择两者)可以说是“安装爱普生驱动程序”和“安装佳能驱动程序”。
然后,根据用户选择,安装程序包将仅安装Epson驱动程序,或仅安装Canon驱动程序,或两者都安装。
我想我想要的东西也可以被描述为有几个先决条件,但要使它们成为可选项。
有关从哪里开始的任何建议?
答案 0 :(得分:2)
看起来我需要的东西无法通过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文件中读取设置文件位置等,但这不在问题的范围内......
答案 1 :(得分:0)
我认为您可以在Visual Studio部署项目中执行此操作,至少对于简单的情况(我认为最多4个复选框,但我可能错了)。请参阅此MSDN文章:Checkboxes User Interface Dialog Box;它解释了如何在安装过程中显示带有复选框的对话框,并根据复选框选择包含或排除文件。