上書き保存ができないNo.32587
FCL さん 13/09/12 16:04
 
お世話になります。
秀丸エディタで共有フォルダ上(NAS)のテキストファイルを編集し、上書き保存しよ
うとすると、
「ファイルの書き込みに失敗しました」と表示され、
それと同時に共有フォルダ上の元ファイルの内容が白紙になり、0KBになってしまい
ます。(内容を元に戻すこともできません)

一旦対象テキストファイルをデスクトップ等ローカルに落として編集→保存し、それ
を共有フォルダへ入れ直すことは可能です。

共有フォルダ(NAS)の権限には問題ありませんでした。
他エディタでは問題なく上書き保存できます。

windows7(64bit)使用で、2台検証し、下記のバージョンで試しましたがどれも同じ事
象が起きました。
・hm800_signed.exe
・hm832_signed.exe
・hm833b1_x64_signed.exe

宜しくお願い致します。

[ ]
RE:32587 上書き保存ができないNo.32588
秀丸担当 さん 13/09/12 17:12
 

バグ情報ありがとうございます。
ご不便おかけして申し訳ございません。

いまのところそういう問題が起きそうな理由としては不明で、過去に事例も無い
ようで、思い当たることを書かせていただきます。
秀丸エディタでのみ起きることに関連しそうな設定として、思い当たることとし
ては、排他制御の設定があります。
[その他]→[動作環境]で左下の「上級者向け設定」をONにして、
[その他]→[動作環境]→[ファイル]→[排他制御]のところの「ファイルの排他制
御」の設定が「上書きだけ禁止」や「読み書き禁止」になっていたら「しない」
にすると変化がある可能性があると思います。
ただそれでもし問題がある場合開く段階で失敗するはずで、開いた後に失敗する
ことにはならないと思うので外しているかもしれません。

他には、バックアップの取り方が設定によっていろいろあるので、[その他]→
[ファイルタイプ別の設定]→[その他]→[保存・読み込み]でバックアップの作成
のON/OFFを切り替えてみたり、「高速バックアップ」のON/OFFを変えてみると変
化がある可能性もあると思います。
高速バックアップの場合は、いままでのファイルの名前を変更して.bak等にして、
新しいファイルを作成するという形で上書きします。
そのためファイル自身にアクセス権が与えられている場合、アクセス権が変化す
る場合があります。

V8.00でも起きるということで、これまでに他の方からの同様のご報告がなかっ
たことを考えると、何らかの特殊な条件がある可能性もあると思います。
例えばウィルス対策ソフトによって特定のアプリのみがアクセスできないように
なっているなどが考えられると思います。
あとWindowsの設定としての互換性の設定で特定のプログラムの挙動が変わるこ
とがあります。(ショートカットを右クリックして「互換性」の設定)
それらの理由だとしたら、特定のパスにあるプログラムに関連付けられていると
思うので、今までとは違うパスにインストールしてみると変化がある可能性もあ
ると思います。

あとお手数ですがNASに関するハードウェアの情報や、特定のファイルでのみ起
きるなど、もし他に条件が見られるようでしたら教えてもらえると助かります。

[ ]
RE:32588 上書き保存ができないNo.32589
FCL さん 13/09/12 18:56
 
> [その他]→[動作環境]で左下の「上級者向け設定」をONにして…
→「しない」になっていました。

> [保存・読み込み]でバックアップの作成のON/OFFを切り替えてみたり…
→解消しませんでした。

ウィルス対策ソフトは設定をOFFにしても変化ありませんでした。

> Windowsの設定としての互換性の設定
→解消しませんでした。

今までとは違うパスにインストール
→C:\program Files\ からC:\Users\○○\AppData\ にしましたが解消しませんでし
た。

> NASに関するハードウェアの情報や、特定のファイルでのみ起きるなど…
→バッファローのNASの複数種使用しており、全てのファイルで発生します。

XP(32bit)の時は問題なく使用できておりましたので使用環境に問題があるとは考え
にくく、
windows7(64bit)での事象ですのでそこに原因があるのではと考えているのですが、
他に対応策はありますでしょうか。

[ ]
RE:32589 上書き保存ができないNo.32590
秀丸担当 さん 13/09/13 09:00
 

いろいろご確認ありがとうございます。

追加の情報がありまして、SMB2という通信方法が関係しているかもしれ
ないです。

そうだとしたら、以下のページで解説されているような方法で無効にす
るといいようで、これで大丈夫になる可能性が高いと思います。
http://nextstage0311.blog.fc2.com/blog-entry-275.html

他のソフトでも同様の問題が出ているという情報もあるようです。
こちらの情報によりますと、Baffaloの法人向けのNASで発生しているよ
うです。
http://www.rimarts.com/b2board/b2board.cgi?tree=r46085

同じ問題かどうかわかりませんがMicrosoftに関連する情報があるよう
です。
http://support.microsoft.com/kb/2537777/ja

[ ]
RE:32590 上書き保存ができないNo.32593
FCL さん 13/09/13 11:26
 
お調べいただき、ありがとうございます。

> 追加の情報がありまして、SMB2という通信方法が関係しているかもしれないです。
→SMB2は使用しておりません。(バッファロー使用NAS機種名:TS-XR5)

> 同じ問題かどうかわかりませんがMicrosoftに関連する情報があるようです。
http://support.microsoft.com/kb/2537777/ja
→こちらも試しましたが解消されませんでした。

他解決策がありましたらご教示ください。

[ ]
RE:32593 上書き保存ができないNo.32596
秀丸担当 さん 13/09/13 12:34
 

そうでしたか。
外していたようで、すみません。

XPは大丈夫で7でだめということはやはりSMBプロトコルが関係している気がしま
すが、わかりません。
秀丸エディタとしてはそういうネットワークの操作やSMBプロトコルの操作をし
ているというわけではなく、WindowsAPIでローカルにあるファイルと同様に読み
書きを行っているだけになっています。

環境特有の原因があると思うので、すみませんが、何か他に共通項となることが
ないかを前述のブログの方などのように条件を絞れたら助かるところです。


全てが正常に動いているとして、1つ類似の事例がありました。
秀丸エディタでだけ、クリップボードの貼り付けができないと言われていた事例
があって、その原因は、Webroot SecureAnywhere というウィルス対策ソフトの
機能だったということがありました。
これは情報漏えいを防ぐためにAPIレベルで制限する機能があるようで、そのと
きは、ウィルスチェックやファイヤーウォールを無効にしても関係なく、個別の
設定があったようです。

ウィルス対策ソフトが何かわかりませんが、もしそれに類似した機能があるとし
たら、特定のソフトでネットワークを介してデータを外に出せないというような
ことが起こりうるかもしれず、それは単にウィルス対策ソフトをOFFにするだけ
では無効にはならないことがあるようです。
関連スレッド:
http://www.maruo.co.jp/hidesoft/2/x31971_.html#32015

[ ]
RE:32593 上書き保存ができないNo.32598
秀丸担当 さん 13/09/13 15:24
 

現状でエラーメッセージが詳しい情報が出ておらず、プログラム内のどこでエ
ラーとなっているのかの特定が難しいため、V8.33の次のβ版では、エラーメッ
セージをより詳しく出るように修正させていただきます。

[ ]
RE:32593 上書き保存ができないNo.32602
秀丸担当 さん 13/09/17 11:26
 

V8.33β2を公開し、エラーメッセージに詳細な内容を表示するようにしました。
あと、エラーを無視して続行できるようにもしました。

以下のページの「次のバージョンのβ版はこちら」のところからダウンロードで
きます。
http://hide.maruo.co.jp/software/hidemaru.html

[ ]
RE:32602 上書き保存ができないNo.32605
FCL さん 13/09/18 12:48
 
数々のご対応、ありがとうございます。

検証の結果、原因の切り分けができました。
ドメイン参加すると上書き保存ができなくなるようです。
過去、このような事例はございましたでしょうか?

ちなみに、ドメインコントローラのOSはwindows2003serverを使用しております。

(V8.33β2で検証いたしましたところ、共有フォルダ上で内容が消えてしまう事象は
変わりませんでしたが、
エラーメッセージに従って別名保存する流れが容易になりました。
ありがとうございます。
以下、エラーメッセージに表示されたコード情報です。)
行:4756
関数コード:2
詳細コード:0,0,0,0,19,2007,0,0

[ ]
RE:32605 上書き保存ができないNo.32606
秀丸担当 さん 13/09/18 14:44
 

詳しい検証ありがとうございます。
ドメイン参加するとそのようになるという事例としては、いままでにはありませ
んでした。

エラーの詳細情報もありがとうございます。
この情報によりますと、ファイルの書き込み時のエラーコード19で、意味として

「ERROR_WRITE_PROTECT(このメディアは書き込み禁止になっています)」
という意味になります。

通常は何らかの理由で書き込み禁止になっている場合は、これよりも前の段階で
エラーが出ます。(V8.32以前でも)
まず最初にファイルを読み込む操作をしたときに、以下のようなメッセージが出
ます。

  xxxx.txt
  このファイルを書き込み許可で開くことができませんでした。
  以下の理由が考えられます。
  - 他のプロセス/プログラムによって現在上書き禁止でファイルが
  開かれている。
  - ファイルへのアクセス権限が制限されている。(ファイル/フォル
  ダのセキュリティ)

そしてファイルを読み込む操作では読み込めたとして、次に上書き保存する操作
では、書き込み許可のためにファイルを開く段階で、以下のようなメッセージが
出ます。

  ファイルへのアクセスが拒否されました。上書き禁止属性のファイル
  に書き込みしようとしたか、またはファイルへのアクセス権限が制限
  されています。


ですが、今回のケースでは、書き込み許可のためにファイルを開くこと自体には
成功し、実際のデータを書き込む段階で、「ERROR_WRITE_PROTECT(このメディ
アは書き込み禁止になっています)」というアクセス権に関する理由によってエ
ラーになっているということになります。

ドメインによって、はたしてそういうアクセス権に設定できてしまうことが可能
なのか不明ですが、結果としてはそういうことになっているようです。

普通ではありえないので、アクセス権を管理するところに何か不具合があるとい
う気もします。
TS-XR5というのは、TS-XL/R5でしょうか。
メーカーのサイトのファームウェアの更新で、同じ問題かはわかりませんが、以
前の変更履歴にドメインに関する修正も何点かあるようです。
http://buffalo.jp/download/driver/hd/ts-xl_rxl.html


あるいは前のコメントのようにウィルス対策ソフトがAPIレベルでそのように制
御しているのかもしれません。
ウィルス対策ソフトを教えてもらえるとなにかヒントになると思います。

----

プログラムによって挙動が違うことになる例としては、思い当たることとして、
ユーザーが違うということもありました。
例えばVista以降では標準ユーザー(制限ユーザー)でログオンすると、プログラ
ムを管理者として実行しようとすると、管理者のユーザー名とパスワードを要求
されます。
いったんプログラムが管理者として起動すると、そのプログラムから起動するプ
ログラムも管理者となります。そうやって同じ画面上であっても違うユーザー名
のプログラムは連鎖的に増えていきます。
例えばプログラムを起動するための、いわゆるランチャとなるソフトを利用され
ている場合、もしランチャが管理者であったとしたら、ランチャから起動するプ
ログラムも全て管理者になります。

[ ]
RE:32605 上書き保存ができないNo.32607
秀丸担当 さん 13/09/18 15:14
 

SMB2を試すためにWindowsServer2008R2評価版を仮想環境に入れて試してみたと
ころでは、通常の共有ではSMB2プロトコルを通じて、うまくいっているようです。
ドメイン(Active Directory?)も試せると思うのですが、手こずってます。

[ ]
RE:32607 上書き保存ができないNo.32608
FCL さん 13/09/18 16:19
 
TS-XL/R5です。失礼いたしました。
現在ウィルス対策ソフトを入れていないPCで検証し、事象がおきています。
取り急ぎご報告まで。
引き続き検証して参りますので進展ありましたら報告致します。

[ ]
RE:32608 上書き保存ができないNo.32631
FCL さん 13/10/08 15:13
 
お世話になります。

弊社にてPCの操作履歴を取っているのですが
秀丸のログをみると、ファイル名の頭に"UNC"がついています。

操作履歴を取っているプラットフォームの担当者へ
確認をとったところ、秀丸の内部動作との回答がきました。

OSがXPの時はそのようなログはなかったので、7で使用すること
による仕様になりますか。

また、UNCがつく意味を教えて下さい。

宜しくお願い致します。

[ ]
RE:32631 上書き保存ができないNo.32632
秀丸担当 さん 13/10/08 16:57
 

"UNC"というのは"UNC"という文字列そのもののことではなく、たぶん
「\\サーバー名\共有名」といった書き方のことだと思います。

「\\サーバー名\共有名\ファイル名」といったファイル名を指定してファイルを
開けば、そういうファイル名は使われます。
"UNC"という文字列そのものは秀丸エディタは出していないです。

秀丸エディタとしては何かネットワークのプロトコルの操作しているわけではな
く、ローカルにあるファイルと同じようにファイル名を指定しているだけになり
ます。

秀丸エディタそのものの動作としてはXPと7で違うということは無いです。
ネットワークのやりとりの仕方が違うとしたら、OSで扱うプロトコルが違うとネ
ットワークのやりとりが違うこともあると思います。

[ ]
RE:32631 上書き保存ができないNo.32633
秀丸担当 さん 13/10/08 17:05
 

1つ思い当たることがありました。

ファイルを開く段階の前に、サーバーへの接続がされていなくてログオンが必要
な場合は接続しようとする処理がありました。

[その他]→[動作環境]→[トラブル対策]→[その他トラブル対策]のところに
「\\server\share\...を開く時のサーバーへのログオン試行をしない」というオ
プションがあって、これをONにすると何か変化があるかもしれないです。

[ ]
RE:32631 上書き保存ができないNo.32634
秀まるお2 さん 13/10/08 17:53
 
 追加で思いついたのでコメントしてしまいます。

 秀丸エディタには64bit版もあるので、もし可能なら64bit版でもテストしてい
ただくと何か変化があるかもしれないです。64bit版の方は、いわゆる
「VirtualStore」という、Windows Vista以降からついた新しいセキュリティの
仕組みの影響を受けないようになってるので、それで何か違いが出る可能性はあ
るかもしれないです。

 あと、秀丸エディタ以外のうちの会社のソフト、例えば「パスワード総合管
理」でネットワークドライブ上のファイルを作成したり更新したりといったこと
をして、それでも同じ現象が出るかどうかも解決のヒントになるかもしれないで
す。うちの会社のソフトはWindows98やWindows2000でも動くように、Visual C++
のVersion 5.0という、かなり古い開発環境で作っているので、もしかしてそれ
が関係して「ほかのソフトはうまくいくけども秀丸だけダメ」ってことが起こり
える可能性はあるかもしれません。
 (だとしたら、64bit版ではうまくいくような気がします)

[ ]
RE:32634 上書き保存ができないNo.32635
FCL さん 13/10/08 18:30
 
ご回答くださいましてありがとうございます。

> 「\\server\share\...を開く時のサーバーへのログオン試行をしない」というオ
>プションがあって、これをONにする
→解消しませんでした。

> 秀丸エディタには64bit版もあるので、もし可能なら64bit版でもテストしていた
>だくと何か変化があるかもしれないです。
→64bit版で検証しております。

引き続き確認して参りますので、進捗ありましたらご報告させていただきます。

[ ]
RE:32635 上書き保存ができないNo.32636
秀丸担当 さん 13/10/10 11:30
 

関連する修正が2つあり、V8.33β6を公開しました。

1つは「\\server\share\...を開く時のサーバーへのログオン試行をしない」の
オプションの適用範囲が本文中のファイル名と思わしき場所のクリックだけだっ
たことがわかり、通常のファイルを開くときなどにも適用するようにしました。

ただ、そもそもログオンの試行をするのはファイルが開けなかったときの話で、
既にファイルは開けているようですので、影響はないかもしれません。

もう1つは、保存時の処理を、ファイルの書き込みに失敗したときファイルの内
容が失われるのを防止するため、ファイルの書き込みが全て終わった後に終端を
指定するようにしました。
もしファイルが開けているのにライトプロテクトのエラーになった場合はファイ
ル内容が失われにくくなるようにしました。

以下のページの「次のバージョンのβ版はこちら」のところからダウンロードで
きます。
http://hide.maruo.co.jp/software/hidemaru.html

[ ]