Re: MoveFileExによる使用中ファイル上書き


[コメントツリー表示を見る] [発言時刻順表示を見る]

Posted by Uz on 2001/07/10 01:24:39

In Reply to: MoveFileExによる使用中ファイル上書き Posted by stream on 2001/07/09 19:41:23


    > はじめまして。MoveFileExを使い、リブート後に使用中ファイル
    > の上書きをしようと思っています。
    > Administrator権限ではうまくいくのですが、Poweruser権限では
    > レジストリへの書込みができません。
    > poweruserでもレジストリへ書込みできるよい方法は無いでしょう
    > か。
    > Windows2000
    > VB6.0(SP4)

    MoveFileExのヘルプを見ると MOVEFILE_DELAY_UNTIL_REBOOT は
    |このフラグを指定できるのは、Administrators グループに所属
    |するユーザーのコンテキスト、または LocalSystem アカウント
    |のコンテキストだけです。
    とあるので、無理そう。

    まぁ、逆に簡単にこんなことが出来ちゃうと、
    ほかのプロセスが握ってる重要なファイルを
    変更で来ちゃったりするんで、セキュリティに
    問題が出そうなので、それなりの覚悟が必要ですね。

    MoveFileExを行うプロセスをCreateProcessAsUserでAdministrator
    権限を持つユーザで起動するか・・・。
    この場合、そのユーザのパスワードがわかっている必要があります。
    LocalSystem アカウントっていうのは多分サービスを作って
    そいつにMoveFileExをさせるってことかな。(ちょっと自信なし)

    何のために使用中のファイルを上書きする必要があるの
    かわかりませんが、
    1.インストーラを作りたい
    なら、素直にAdminでインストールしてくれって言うのが妥当だろうし、
    2.自滅Exeを作りたい
    なら、バッチファイルを駆使する方法があるようですし、
    3.自動バージョンアップアプリを作りたい
    なら、その機能を別Exeにする手もあるだろうし。


記事スレッド一覧