Run Dropbox as Service on Windows 2008 Win 7

– Remote desktop to your server (e.g.: with username = YourUserLockeVN)

– On server, download dropbox.exe to C:\
– Start command prompt (with “YourUserLockeVN” please, the idea is dropbox will be installed under this account credential and its role/right)
– Install dropbox by command prompt:

"C:\dropbox.exe" /D=C:\Program Files\Dropbox

– Run through DropBox setup, login to dropbox, use advanced install, determine local folder for sync, …
– (very important) Start Dropbox, Preferences -> uncheck “Show desktop notifications” and “Start Dropbox on system startup
– Exit dropbox (right click tray icon, Exit)
– Check StartMenu/Startup folder, remove the Dropbox shortcut (if any)
– Download Windows Server 2003 Resource Kit Files (Win2003, 2008 can use)
– Install it into your server (don’t worry about conflict, they are all M$ stuff, and they just extracts to folder)
– on command prompt, create Service by:

"C:\Program Files (x86)\Windows Resource Kits\Tools\instsrv" DropBoxService "C:\Program Files (x86)\Windows Resource Kits\Tools\srvany.exe"

– Start/Run, “Regedit”, go to

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DropBoxService

– Create KEY Parameters
– Create String value name “Application“, value C:\Program Files\Dropbox\Dropbox.exe /home
– Create String value name “AppDirectory“, value C:\Program Files\Dropbox


– Go to Administration Tools / Services -> DropBoxService -> Properties -> Log on -> Use “YourUserLockeVN
– Change the service startup type to “Automatic
– Start service

That’s fine. Now you can logoff, disconnect from the server and Dropbox still up and running, sync your file.

Dùng C# viết windows service

Các bài hướng dẫn bằng tiếng Anh có vẻ có nhiều, nhưng phần lớn các bạn post những bài tiếng Anh ấy lên các diễn đàn đều không giải thích cũng như dịch lại, mà thuần là copy paste, cho nên LockeVN mỗ cảm thấy nếu viết một bài hướng dẫn nhanh bằng tiếng Việt thì vẫn hữu ích.

Viết bằng VS2008 và C# rất tiện, rất nhanh, dễ hiểu, gọn, chỉ cần làm theo vài bước đơn giản là được.

OK, rào trước đón sau đủ rồi, giờ bắt đầu, ngắn gọn.

1. Mở Visual Studio ra (dùng bản VS2008 cho tiện),
Tạo một Project mới, chọn C#, chọn windows, chọn Windows Service, đặt tên project “MyService”, OK.
2. Chỉnh vài setting nho nhỏ
Chuột phải vào project, chọn Startup Object là MyService.Program nhé
Nhìn vào Solution Explorer, chuột phải vào Service1.cs, chọn Rename, cho nó một cái tên mỹ miều hơn nhé “FirstService”, nhấn Yes để nó tự thay đổi các file khác.
Nhìn vào Solution Explorer, Nhấn vào FirstService.cs, Nhấn Shift F7, mở ra màn hình Design, chuột phải vào màn hình Design (ở giữa ấy) chọn Properties, chỉnh các thông số của nó trong khung Properties nhé, quan trọng nhất là cái ServiceName, đặt tạm là “mysvc”

3. Nhớ là dùng System.Threading.Timer, đừng dùng các Timer khác (kẻo bạn sẽ hối hận và tốn thời gian vô cùng)

4. Thêm bộ Installer
Sửa các thuộc tính sau

5. Cài đặt
mở Visual Studio 2008 Command Prompt
Để cài đặt, Gõ installutil /i “MyService.exe”
Để gỡ bỏ, Gõ installutil /u “MyService.exe”

Đôi khi việc gỡ bỏ service không hề dễ dàng (nhất là khi code lỗi, code lỗi phần installer, chỉnh sửa project setup), không thể uninstall đc, mà không uninstall được thì bạn sẽ không cài lại được, không thử tiếp được 😀 . Cho nên ta vẫn phải cần tới cách gỡ bỏ windows service bằng tay.

  • Vào menu Start, Run, gõ regedit, enter
  • Chuyển đến nhánh key (bên trái) HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services
  • Xoá nhánh service nào bạn thấy bị lỗi.
  • Khởi động lại.

Chú ý: đừng làm việc gỡ bỏ bằng tay này nếu không hiểu rõ ràng bạn đang sửa cái gì, hoàn toàn tự chịu trách nhiệm đấy nhé.

Tham khảo

http://www.grinn.net/blog/dev/2008/01/windows-services-in-c-part-1.html
http://www.codeproject.com/KB/system/WindowsService.aspx
http://www.aspfree.com/c/a/C-Sharp/Timer-Objects-in-Windows-Services-with-C-sharp-dot-NET/