ClickOnce 時の必須コンポーネントで、SQL Server 2005 Express Edition を
「アプリケーションと同じ場所から必須コンポーネントをダウンロードする」
としても、期待通りにならないので、手作業で以下の準備をしました。
(1) まず、ファイルを揃える。sqlexpr32_jpn.exe を sqlexpr32.exe に改名してます。
Code Snippet
C:/Program Files/Microsoft SDKs/Windows/v6.0A/Bootstrapper/Packages/SqlExpress/ja
- SQLEXPR32.EXE (sqlexpr32_jpn.exe)
- SqlExpressChk.exe
- eula.txt
- package.xml
- product.xml
(2) product.xml 内 タグの Express.1.0 を Express.9.2 に変更
Code Snippet
<?xml version="1.0" encoding="utf-8"?>
<Product xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" ProductCode="Microsoft.Sql.Server.Express.9.2">
<RelatedProducts>
<DependsOnProduct Code="Microsoft.Net.Framework.2.0" />
<DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
<IncludesProduct Code="Microsoft.Sql.Server.Express.9.2" />
</RelatedProducts>
<PackageFiles>
<PackageFile Name="SqlExpressChk.exe" />
</PackageFiles>
<InstallChecks>
<ExternalCheck Property="SQLExpressInstalled" PackageFile="SqlExpressChk.exe" />
</InstallChecks>
</Product>
参考
- Deploying SQL Server 2005
(3) 以上で発行させると、出力先に "sqlexpress" と全て小文字で出力されます。
このままインストーラを実行させるとエラーが出ます。
というのも、私は apache 上に置いているので、インストーラから URL の一部
として "SqlExpress/sqlexpr32.exe" という名前で呼ばれても、SqlExpress の
部分が上記の通り小文字なので、見つけられない、とエラーを出してしまいま
す。IIS では大文字小文字関係ないのかな?
sqlexpress を SqlExpress と書き換えて配置すると、ダウンロードが開始され、
インストール作業も行われます。
ここで質問です。
必須コンポーネントを収めたフォルダ名を設定ファイルなどで編集できるので
しょうか? 上記の例であれば、あらかじめ SqlExpress と正確に記すように。
何処にもそんな設定部分が見当たらないのです。勝手に IDE がやっているよう
な感じです。