0

たとえば、私のアプリケーションが Epson プリンターと Canon プリンターをサポートしているとします。

インストール中に、「エプソンドライバーをインストールする」と「キャノンドライバーをインストールする」というオプション、おそらくラジオボタンまたはチェックボックス(両方を選択するオプションがある)が必要です。

次に、ユーザーの選択に基づいて、セットアップ パッケージは Epson ドライバーのみ、Canon ドライバーのみ、またはその両方をインストールします。

私が望むものは、いくつかの前提条件があると説明することもできると思いますが、それらはオプションにします。

どこから始めるべきかについて何か提案はありますか?

4

2 に答える 2

2

許可されていない msi から msi を実行しようとしているため、必要なことを VS のセットアップと展開から実行できないようです。したがって、回避策として、いくつかのチェックボックスとこのような機能を備えた小さな「ラッパー」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ファイルなどからセットアップファイルの場所を読み取るなど、このアプリを柔軟にするためにオフにしますが、それは質問の範囲外です...

于 2009-02-24T00:40:43.857 に答える
0

Visual Studioの展開プロジェクトでは、少なくとも単純なケースではこれを実行できると思います(最大4つのチェックボックスがあると思いますが、間違っている可能性があります)。このMSDNの記事を参照してください:チェックボックスユーザーインターフェイスダイアログボックス; インストール中にチェックボックス付きのダイアログボックスを表示し、チェックボックスの選択に基づいてファイルを含めるまたは除外する方法について説明します。

于 2009-03-20T23:40:18.143 に答える