7

プログラムインストーラーの配信を設定する必要があります。

このプログラムには、program_installer.exeと、インストーラーの作成時にインストーラーに含めることができないフォルダーがあります。

したがって、ユーザーがプログラムをインストールする必要がある場合は、MAILを介してバッチファイルを送信します。

@echo off
if DEFINED PROGRAMFILES(X86) (
SET TOOL_INSTALL_DIR="%PROGRAMFILES(X86)%\myfolder"
) else (
SET TOOL_INSTALL_DIR="%PROGRAMFILES%\myfolder"
)

MKDIR %TOOL_INSTALL_DIR%
copy /y \\rk0012352\Public\lkh5iwwh.m4s %TOOL_INSTALL_DIR%


START %PROGRAMFILES%\program_installer.exe

問題は、ユーザーがBATCHを実行してCOPYコマンドを実行すると、Windows 7では、管理者権限がないためにコマンドが失敗することです。

XPと7の両方でそのコピーコマンドを管理者として実行するにはどうすればよいですか?

ユーザーがINSTALL.BATで電子メールを取得したときに、[管理者として実行]をクリックすることはできませんか?

残念ながら、その答えは、ほとんどの人がそれを行わず、機能しないと不平を言うだけです。さらに、Outlookなどの多くの電子メールクライアントは「開く」「保存する」選択パネルを表示し、ほとんどのユーザーは直接開くをクリックします(権利なしのエラーが発生します)

「runas」コマンドでは、マシンの管理者名を指定する必要があり、すべてのコンピューターで管理者ユーザーがどのように呼び出されているかを知ることはできません。

なにか提案を?

4

3 に答える 3

7

少しトリッキーですが、実行できます。

最初に、ユーザーが管理者であるかどうかを (バッチ ファイルから) 知る必要があります。その場合は、インストールを続行できます。そうでない場合は、別の cmd.exe インスタンスを実行して、管理者としてバッチ ファイルを実行できます (runasコマンドを使用)。

ユーザーが管理者であるかどうかを検出するには、次の投稿を参照してください: http://www.tomshardware.co.uk/forum/169421-36-determine-batch-file-user-administratorバッチ自体も)。

于 2012-05-02T14:26:26.497 に答える