6

MySQL をデータ ストレージ エンジンとして使用する Visual Studio 2005 プロジェクト (C#) があります。アプリケーションをインストールする MSI パッケージを作成し、MySQL をサイレント インストールした後に作成したいと考えています。調べてみましたがあまり情報がありませんでした。

MySQL パッケージをサイレント モードでインストールし、CMD でこの 2 つのステートメントを使用して構成した後、

インストール:

msiexec /qb /i "c:\mysql.msi" /l* d:\log_mysql_test.txt INSTALLDIR=d:\mysql_test_mdps

構成、設定:

D:\mysql_test_mdps\bin\MySQLInstanceConfig.exe -i -q "-lD:\mysql_config_log.txt" "-pD:\mysql_test_mdps\bin" "-tD:\mysql_test_mdps\my-template.ini" "-cD:\mysql_test_mdps\my.ini" -v5.5.9 ServerType=DEVELOPMENT DatabaseType=MIXED ConnectionUsage=DSS Port=53306 ServiceName=MySQL_AGM RootPassword=root1234 SkipNetworking=no AddBinToPath=yes

しかし、今では、アプリケーションをインストールする前または後に Visual Studio がそれを行うと言う方法がわかりません。私はそれをグーグルで検索してきましたが、有用なヘルプが見つかりませんでした。

あなたが私を導くことができることを願っています:)

編集:カスタム アクションを使用してソリューションを回避してきました。カスタム インストーラー クラスを使用してカスタム アクションを実行するこの記事を見つけました。最初は問題ないように見えますが、MSI パッケージが 2 番目の MSI インストーラー (MySQL) を起動しようとすると、「アクセスが拒否されました」というコード 2869 のエラーが発生するため、問題が発生しています。

私もこの問題を探していましたが、最初の MSI が 2 番目の MSI を実行しようとすると、適切な権限が適用されず、インストールが失敗するように見えます...

私に何ができるか知っていますか?または、2 番目の MSI インストーラーを起動するにはどうすればよいですか? 完全な権限を持つ (または少なくとも最初のインストーラーと同じ)

これは、Process オブジェクトを作成するために使用しているコードです。

string arg1 = "/qb /i \"" + filepath + "\" /l* \"" + Path.Combine(installpath, logfile) + "\" INSTALLDIR=\"" + installpath + "\"";

Process p = new Process();
p.StartInfo.FileName = "msiexec.exe";
p.StartInfo.Arguments = arg1;
p.Start();
4

2 に答える 2

3

別のmsiexec.exeを起動する必要はありません。Visual Studioでは、実行可能ファイルをカスタムアクションとして使用することもできます。したがって、カスタムアクション

下記参照。画像はこのリンクからのものです: カスタムアクション

上記のリンクの「カスタムアクションとしての実行可能ファイルの呼び出し」セクションを確認してください。これが他の方法で機能しない場合は、デフォルトのブートストラッパーを変更することです

このリンクの0xA3による返信を確認してください。
C#セットアッププロジェクトから別のプログラムを実行する

そして、見た目は複雑ではありません。:)

前提条件をブートストラッパーに追加するためのその他のリンク:Visual Studio2005用
のカスタムブートストラッパーパッケージの作成VisualStudioの
セットアップと展開:前提条件の追加

さらに、これを確認する必要があります:
.NETwinformsアプリを使用したMYSQLのインストール

于 2011-02-22T06:22:49.460 に答える
1

Visual Studioインストーラーを使用していますか?その場合は、インストーラーソリューションエクスプローラー内)でマウスの右ボタンをクリックしてから、[表示]に移動し、コンテキストメニューの[カスタムアクション]をクリックする必要があります。

カスタムアクションを含む新しいツリーが画面の中央に表示されます。次に、任意のフォルダーを右クリックして(アクションを追加するタイミングに応じて)、[カスタムアクションの追加...]を選択します。

これがお役に立てば幸いです...

于 2011-02-11T13:02:25.340 に答える