5

SQL Server2005Expressの前提条件を持つClickOnceを介して展開されたWinformsアプリケーションがあります。これをSQLServer2008R2Expressに変更したいと思います。

package.xmlSQL Server 2008 R2 Expressを調べていたところ、次の行に気づきました。

<!-- Defines an upgrade installation (x86) -->
-<Command Arguments="/q /hideconsole /action=Upgrade /instancename=SQLEXPRESS 
                     /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck" 
          PackageFile="SQLEXPR32_x86_ENU.EXE" 
          EstimatedInstallSeconds="420" EstimatedInstalledBytes="225000000">

このSEEMSは、アップグレードが可能であることを意味します。ただし、これを試してみると、既存のSQLEXPRESSインスタンスをアンインストールするように指示するプロンプトが表示されて失敗しました。

これが可能かどうか誰かが知っていますか?私はおそらく、何か間違ったことをしていますか?余分な「マイル」を移動して、既存のSQLインスタンスのアンインストールをコーディングする必要がありますか?誰かが似たようなことをしたことがありますか?

PSこれはデータベース管理者https://dba.stackexchange.com/)に属していますか?質問のClickOnceコンテキストを考えると、確信が持てませんでした。

4

1 に答える 1

1

私は少し前に同じことをしなければなりませんでした。私がしたことは、SQLExpressのアンインストールについて説明し、コーディングするのとまったく同じことをすることでした。

しかし、私はアプリのスタートアップモジュールでそれを行い、インストールされたバージョンを確認し、アンインストールを実行してから、(ユーザーがキャンセルした場合に備えて) 再度確認してから、アプリを再起動しました。

Clickonce は、欠落している必要な前提条件を確認し、インストールをオフにします..

非常に長くなりましたが、うまくいきました。

それ以来、SQL Everywhere を使用するように変更しました (SQL Compact は呼び出されるために使用されます)。これは唯一の DLL であるため、この混乱を招くことなくアプリ独自のコードでアップグレードできます。ウェブサービス)。これは十分に大きくないか、十分に強力ではない可能性があります

于 2012-07-03T09:58:11.867 に答える