FrontPage 2003 で ASP.NET バージョンの異なるサイトへアップロードする

SERVER


FrontPage 2003 にて aspnet_client フォルダへ書き込みできない

Microsoft FrontPage 2003 は Web サイトを作成するためのソフトウェアで、個人的にも好んで利用しているのでした。

この FrontPage 2003 は FTP や WebDAV によるアップロードも可能ですけど、Microsoft 社の Web サーバ IIS で主に利用されている FrontPage Server Extensions という仕組みによってアップロードを行うことが出来ます。

 

今回もその FrontPage Server Extensions 経由でアップロードしようとしたのですけど、次のようなエラーが発生してしまったのでした。

サーバー エラー: フォルダ "2_0_50727" を作成できません。

心当たりはいくつかあって、今までにもこのようなエラーが発生したことがありました。

ここで示されているフォルダは Web サイトの "aspnet_client" というフォルダに存在していて、どうやらこれは .NET Framework がインストールされて ASP.NET が有効になっている場合に自動的に生成されるフォルダのようです。そのときは ASP.NET を利用する予定はなかったので、ASP.NET を無効化してそのフォルダを削除しておいたのでした。

そしてつい先日のことなのですけど、サイト作成に使用している IIS が導入されている PC にて、.NET Framework 2.0 Beta 2 日本語版をアンインストールして .NET Framework 2.0 日本語版をインストールしなおしたので、もしかしたらそのときに自動的に再作成されたのかもしれません。

 

今回は ASP.NET を同一 IIS 内の他のサイトで利用しようと思うので ASP.NET を無効化することはしないのですけど、とりあえず ASP.NET を必要としないサイトの "2_0_50727" だけでも削除しようと思ってみましたけど、少なくとも FrontPage 2003 からは削除することは出来ませんでした。

 

環境の確認

とりあえず現在の状況を調べてみます。

開発用に利用しているのは Windows Server 2003 の IIS 6.0 に .NET Framework 2.0 日本語版がインストールされている状態で、アップロード側は Windows 2000 Server の IIS 5.0 に .NET Framework 1.1 日本語版がインストールされている状態でした。

きっとその影響で aspnet_client フォルダにも、開発側では "2_0_50727" というフォルダのみが存在しているのに対して、アップロード側には "1_1_4322" というフォルダのみが存在している感じでした。そしてどちらのフォルダとも、"Administrators" グループと "SYSTEM" のみがフルコントロール可能で、"Users" グループおよび "Everyone" が読み取り可能というアクセス権限が設定されていました。

Web サイトには違ったアクセス権が設定されていますので、自動的にそういう権限で作成されたものだと思います。

 

Web サイトの権限を自動修正してみると…

aspnet_client が Sub Web ではないことから、後から生成されたこのフォルダの権限が Web サイトと噛み合っていないだけなのかも知れないと思い、その辺りを調整してみることにしました。

アップロード先の管理ツールにある "インターネット インフォメーション サービス" を起動して、該当するサイトで右クリックをして "全てのタスク" から "Server Extensions の確認" を実行します。そして "すべての FrontPage Web に対するセキュリティをできるだけ厳しくしますか?" の問いに対して 「はい」 を選択します。

 

少しして必要箇所の修正が完了したので、aspnet_client フォルダの権限を確認してみましたけど、それで権限が Web サイトと同期することはなく、アップロードも依然としてそこでエラーとなってしまうままでした。

 

アップロード側に .NET Framework 2.0 を導入してみると…

作成側の IIS にてサイトごとに ASP.NET の有効か無効かを選択できればよかったのですけど、なんだかそんな様子も見受けられなかったので、アップロード側の ASP.NET バージョンを 2.0 にあわせてみることにしました。

 

Windows Update からも入手できたような気がするのですけど…、なんだか見つからなかったので Microsoft 社のダウンロードページから "Microsoft .NET Framework 2.0 再頒布可能パッケージ" および "Microsoft .NET Framework 2.0 日本語 Language Pack" をダウンロードしてインストールしてみます。

インストールの手順としては、まず .NET Framework 2.0 の再頒布可能パッケージをウィザードの手順に従ってインストールした後で、続けて 日本語 Language Pack を手順どおりにインストールして行きます。

 

その間で注意することとしては、Internet Explorer を開いていると途中でインストール手続きがいったん停止してしまうという感じでしょうか。

その際にもちゃんと通知はされるのですけど、閉じるべきアプリケーション名が Internet Explorer ではなくて開いているページ名になっているので、なれていないと判りにくいかもしれません。ともあれ該当するページを閉じて 「再試行」 ボタンを押せば再開されます。

また、インストールの途中で IIS (inetinfo.exe) が次のようなエラーを出してしまいました。

"0x01472137" の命令が "0x1fd4fd40" のメモリを参照しました。メモリが "written" になることはできませんでした。

プログラムを終了するには [OK] をクリックしてください

典型的なエラーではありますけど、そのダイアログが表示されたまま、とりあえず .NET Framework 2.0 のインストールは継続されて行くようです…。そんな状況のままとりあえず [OK] ボタンを押しておきました。

そして再頒布可能パッケージのインストールに引き続いて、日本語 Language Pack のインストールもしておきました。

 

こうしてみると、アップロード側の aspnet_client フォルダにも "2_0_50727" フォルダが生成されました。

この状態で改めて FrontPage 2003 によるアップロードを行ってみると、今度はもう 2_0_50727 フォルダを生成する必要がなくなったため、問題なくアップロード作業を行うことが出来るようになりました。