如何将Windows服务从我的本地PC移动到虚拟专用服务器上

时间:2011-05-24 10:14:25

标签: .net windows .net-3.5 windows-services

我已经创建了执行某些功能的Windows服务。

现在我想将它安装在我的专用虚拟服务器上。

我可以通过远程桌面连接到服务器,但我无法安装Windows服务,因为它在我的本地PC上。

如何将Windows服务从我的PC移动到虚拟专用服务器并在那里安装?

2 个答案:

答案 0 :(得分:1)

从之前的评论转换而来:

您必须将包含服务的文件复制到虚拟PC,然后在那里安装。您以与在计算机之间(通过网络或类似方式)复制任何内容相同的方式复制文件

答案 1 :(得分:0)

在Visual Studio 2010中,创建一个新的Windows服务项目。

然后在该项目中创建一个Service Installer。部署后,这将创建脚本。

http://msdn.microsoft.com/en-us/library/ddhy0byf.aspx

可以按照此处的说明运行项目安装程序可执行文件:

http://msdn.microsoft.com/en-us/library/sd8zc8ha.aspx

如果您不使用Visual Studio,则可以使用powershell远程安装Windows服务。

示例链接:http://halr9000.com/article/444

# Creates a service using the Create Method of Win32_Service Class
# MSDN docs: http://msdn2.microsoft.com/en-us/library/aa389390.aspx
# Helpful example obtained from The PowerShell Guy
# http://thepowershellguy.com/blogs/posh/archive/2007/03/26/powershell-wmi-explorer-part-3.aspx

$computer = "." # this computer
$class = "Win32_Service"
$method = "Create"
$mc = [wmiclass]"\\$computer\ROOT\CIMV2:$class"
$inparams = $mc.PSBase.GetMethodParameters($method)
$inparams.DesktopInteract = $false
$inparams.DisplayName = "My Service"
$inparams.ErrorControl = 0
$inparams.LoadOrderGroup = $null
$inparams.LoadOrderGroupDependencies = $null
$inparams.Name = "myservice"
$inparams.PathName = "c:\program files\path\myservice.exe"
$inparams.ServiceDependencies = $null
$inparams.ServiceType = 16
$inparams.StartMode = "Automatic"
$inparams.StartName = $null # will start as localsystem builtin if null
$inparams.StartPassword = $null