Tips

Windows Server 2008でアプリケーションを自動的に起動するもうひとつの方法

日付2009/06/08
ID75714 (英語原文参照)
バージョン11.4
プラットフォームWin

Windows Vista以降、サービスとして実行されているアプリケーションはデスクトップとの対話が許可されなくなりました。基本的にVistaリリース以降のWindowsはすべてこの原則が適用されます。

http://msdn.microsoft.com/en-us/library/bb203962(VS.85).aspx

簡易的な回避策としては、サーバマシンにリモートクライアントを接続し、管理ウインドウを表示してサーバを管理することができます。

別の方法としては、サービスとして起動すること自体を見直し、代わりに次のようなアプローチをとることができます。

1. 自動的にログインするユーザを設定します。

2. 4Dと目的のデータベースが起動するように、4DLinkを開くバッチファイルを作成します。

バッチファイルの内容は次のように記述することができます。

"C:\4D v11 SQL Release 4 Custom\4D Server\4D Server.exe" "C:\autostart.4Dlink"

autostart.4Dlink ファイルは次のような内容に書き換えます。

<?xml version="1.0" encoding="UTF-8"?><database_shortcut structure_file="file:///D:/4D/myApp.4DC" data_file="file:///D:/4D/myApp.4DD"/>

3. セキュリティに配慮し、加えてワークステーションをロックしても良いでしょう。スタートップフォルダに次のようなバッチファイルを作成するか、レジストリを設定することにより、このことを行なえます。

バッチファイルの内容は次のように記述することができます。

rundll32.exe user32.dll, LockWorkStation

データベースはサービスとして実行されるわけではありませんが、自動的に起動し、セキュリティのためスクリーンはロックされます。