1、将Windows服务程序切换到设计视图, 右击设计视图选择“添加安装程序”
2、切换到刚被添加的ProjectInstaller的设计视图
一般设置如下:
设置serviceInstaller1组件的属性:
1) ServiceName = 服务名称
2) StartType = Automatic ,即自动
设置serviceProcessInstaller1组件的属性
1) Account = LocalSystem,账户一般设置为本地系统
3、生成解决方案
安装服务:
方法一、使用DOS命令安装window服务
1、在服务所在的文件夹下的bin\debug文件夹下找到exe文件(例如WindowsService1exe)
将此文件拷贝到你想安装的文件夹中。
2、进入DOS界面
(VS2008-->Visual Studio Tools-->Visual Studio 2008 命令提示)来进入DOS,直接用cmd可能有些命令找不到;
3、输入
方法二、使用安装项目安装windows服务
个人比较推荐这个方法,选择目录安装更灵活,而且不用在DOS环境下运行。
因为本人比较懒,直接给出别人总结的地址
注意,以后每次服务项目有更改的时候,需要编译服务后,在安装项目中刷新依赖项!!!
方法三、
在ProjectInstallercs的后台代码中添加安装服务和卸载服务的代码
/// <summary>
/// 安装服务
/// </summary>
/// <param name="stateSaver"></param>
public override void Install(SystemCollectionsIDictionary stateSaver)
{
MicrosoftWin32RegistryKey system,
//HKEY_LOCAL_MACHINE\Services\CurrentControlSet
currentControlSet,
//\Services
services,
//\<Service Name>
service,
//\Parameters - this is where you can put service-specific configuration
config;
try
{
//Let the project installer do its job
baseInstall(stateSaver);
//Open the HKEY_LOCAL_MACHINE\SYSTEM key
system = MicrosoftWin32RegistryLocalMachineOpenSubKey("System");
//Open CurrentControlSet
currentControlSet = systemOpenSubKey("CurrentControlSet");
//Go to the services key
services = currentControlSetOpenSubKey("Services");
//Open the key for your service, and allow writing
service = servicesOpenSubKey(conServiceName, true);
//Add your service's description as a REG_SZ value named "Description"
serviceSetValue("Description", "描述语言");
//(Optional) Add some custom information your service will use
config = serviceCreateSubKey("Parameters");
}
catch (Exception e)
{
ConsoleWriteLine("An exception was thrown during service installation:\n" + eToString());
}
}
/// <summary>
/// 卸载服务
/// </summary>
/// <param name="savedState"></param>
public override void Uninstall(SystemCollectionsIDictionary savedState)
{
MicrosoftWin32RegistryKey system,
currentControlSet,
services,
service;
try
{
//Drill down to the service key and open it with write permission
system = MicrosoftWin32RegistryLocalMachineOpenSubKey("System");
currentControlSet = systemOpenSubKey("CurrentControlSet");
services = currentControlSetOpenSubKey("Services");
service = servicesOpenSubKey(conServiceName, true);
//Delete any keys you created during installation (or that your service created)
serviceDeleteSubKeyTree("Parameters");
//
}
catch (Exception e)
{
ConsoleWriteLine("Exception encountered while uninstalling service:\n" + eToString());
}
finally
{
//Let the project installer do its job
baseUninstall(savedState);
}
}
代码添加完成后
添加window service安装的批处理命令
1)在项目添加一个文本文件,更名为installbat,编辑文件的内容如下:
@echo off
C:\WINDOWS\MicrosoftNET\Framework\v2050727\InstallUtilexe -i "WindowsService1exe"
@pause
2)在项目添加一个文本文件,更名为uninstallbat,编辑文件的内容如下
@echo off
C:\WINDOWS\MicrosoftNET\Framework\v2050727\InstallUtilexe -u "WindowsService1exe"
@pause
说明:上面绿色字体为服务名称
编译完成后将debug的文件拷贝到想安装的目录下,点击installbat即完成安装。
1、打开控制面板,选择并进入“程序”,双击“打开或关闭Windows服务”,在d出的窗口中选择“Internet信息服务”下面所有地选项,点击确定后,开始更新服务。
2、更新完成后,打开浏览器,输入“>
3、当web服务器搭建成功后,我们下一步所要做的就是把我们开发的网站安装到Web服务器的目录中。一般情况下,当Web服务器安装完成后,会创建路径“%系统根目录%inetpub/>
4、设置防火墙,让局域网当其它计算机也能访问本地网站资源。具体方法:打开控制面板,选择“系统和安全”,点击“允许程序通过Windows防火墙”,在d出的对话框中勾选“万维网服务>
5、在局域网中其它计算机上,打开浏览器,输入 “>
扩展资料:
入门级服务器所连的终端比较有限(通常为20台左右),况且在稳定性、可扩展性以及容错冗余性能较差,仅适用于没有大型数据库数据交换、日常工作网络流量不大,无需长期不间断开机的小型企业。
不过要说明的一点就是目前有的比较大型的服务器开发、生产厂商在后面我们要讲的企业级服务器中也划分出几个档次,其中最低档的一个企业级服务器档次就是称之为"入门级企业级服务器",这里所讲的入门级并不是与我们上面所讲的"入门级"具有相同的含义,不过这种划分的还是比较少。
还有一点就是,这种服务器一般采用Intel的专用服务器CPU芯片,是基于Intel架构(俗称"IA结构")的,当然这并不是一种硬性的标准规定,而是由于服务器的应用层次需要和价位的限制。
服务器装的系统是WIN2003,我想试着重装一下2008了,没想到没有光驱了,好不容易弄了一个USB光驱来,结果安装不成功了,后来一连串的问题接踵而来,经过不懈的努力,最终算是装好了,现将其中苦与乐与大家分享,希望给初入门服务器研究的朋友有所帮助,少走些弯路了。 服务器系统的安装关键有一个磁盘阵列驱动的安装,因为习惯了普通PC机的朋友,往往是光盘引导安装,会发现根本装不上去了,或装上不无法运行了。因为一般系统里没有磁盘阵列卡的驱动,要另外安装的。下面就几种方式来交流一下了。 1、用光盘引导:一般来讲专业的服务器都提供一个引导光盘,专门帮助用户来安装 *** 作系统了,引导光盘来可以重新设置磁盘阵列、安装系统、检测配置等,只要根据提示 *** 作,一般没有问题,有一点要注意,安装的时候它需要提示输入系统安装的系列号,这与我们习惯GHOST版的来讲有点不同了,所以首先要准备一个有系列号的系统盘了。再就是安装介质是方式是USB闪盘还是USB光驱要选择正确。安装文件是一个ISO镜像文件还是普通安装方式都要根据自己准备的安装盘选择正确了,否则就安装不成功了。如果一切正常,系统会重新启动,进入到正常的安装画面继续完成。 2、没有光盘引导:如果没有光盘引导,可以直接用系统安装盘来 *** 作了,但在出现“安装Windows页面”时,注意按下“F6”进行驱动加载 (在开始安装里下面有一行提示,是英文的)但我们要事先在一台已经安装好Windows系统的机器上完全格式化软盘,按照正确的软盘驱动制作方法,制作驱动软盘。 然后根据提示,插入制作的驱动软盘继续 *** 作。但现在一般恐怕没有软件驱了,不过有的可以用USB方式的驱动了。当然首先要制作一个USB的阵列驱动了。入门级的朋友在安装时没有注意阵列的驱动,跳过“F6”安装时会发现系统提示“安装程序没有找到任何安装在此计算机上的硬盘驱动器”,就无法继续下去了,但在BIOS设置里确实又可以看到有SCSI硬盘了。其实是因为磁盘阵列没有驱动了,系统无法识别造成的。3、跳过阵列方式
如果以上两种方法都不行了。有人在想为什么不能将磁盘阵列禁用,就作为一台普通的PC机来用呢?当然可以,不过一台服务器上万的价格,没有了磁盘阵列好像失去了它的意义。当然如果要求不高,也未尝不可了。其实可以在BIOS里将磁盘阵列的模式改为IDE的(应该是一种映射的方式),然后我们就可以像装普通PC机一样装系统了。具体设置:开机按 F10,首先进入 BIOS 中,进入到SATA CONFIGURATION,有一个SATA Controller Mode 选项,有四个选项 Disabled、 Compatible、 RAID、 AHCI ,默认是RAID选项,是带有磁盘阵列功能的,此时我们会发现下面有关 Primary IDE Master的选项都是“Not Detected”,表示没有检测到IDE磁盘了。这时我们更改模式为Compatible,会发现Primary IDE Master的选项都是“Hard Disk”,这说明磁盘阵列功能已停用,相应的硬盘映射到IDE接口上了,接下来安装系统相信大家都不会遇到麻烦了。
相信很多朋友都在想,系统装完后再回到RAID模式,会成功吗,当然不行了,我是有亲身体会的,结果是蓝屏了。但是我们可先在Compatible模式下启动后,把阵列驱动装好,再切换到RAID模式了。具体 *** 作如下(以我用的HP DL160 G5为例了)。
先到相应服务器厂商下载相同型号的磁盘阵列驱动了。从惠普网站上,选择 HP ProLiant DL160 G5 Server 的驱动下载中,下载 HP DL160 G5 SATA RAID Controller Driver,将其解压缩到硬盘某个目录下(注:这个文件在系统下是无法直接运行的,会提示软件无需安装)。
打开控制面板中添加新硬件 /选择硬件已连接好 /选择添加新硬件 /手动选择 /从磁盘安装 /选择之前解压缩好的文件中,其中有一个aarahciinf 的文件 /列表里会有 2 个设备,这 2 个设备都要安装上,当然,一次只能安装一个,另外一个重复上面的过程,重新再添加一次。 /添加完成 添加完成后,重新启动一次服务器,然后再进入到 BIOS 中将 Compatible 模式改为 Enhanced -> RAID 重启 server,按 F8 进入阵列配置模式 选择 Configure Drives >按 Insert 键,将 2 块硬盘添加去 >然后在主菜单中,选择 Create Array,按 Insert 键添加 2 块硬盘,回车。 >阵列模式选择为 RAID 1,创建方式一定要选择 Build >回车后,到了下面这步:Select Source Drive,这一步一定要小心,确定好自己的源盘是第几块硬盘(即之前一块硬盘安装系统时,硬盘是插在第几个槽位,可以到主板上看 sata 的编号)。如果这里选错了,会造成有系统的硬盘被 Rebuild了。 接下来就是漫长的等待硬盘 Rebuild 了,建议最好是等待 building 完成 当然我们也可以按 ESC,让它在后台 rebuild,不过会有下面的提示,需要安装 RAID Management 工具,这里我们按 ESC 退出。 返回到主菜单后,可以看到我们创建好的阵列RAID1,状态是 BUILDING >退出阵列配置工具,重启 WINserver成功。
反思:很多初入门的朋友抱怨服务器的外设接口较少,比如没有光驱,只有四个USB接口。其实这可以根据用户需要定制的,但是服务商一般不这样做了。因为服务器出厂是系统是装好的。它的作用是服务的,根据用户业务的需要,在开始装上一些服务软件后,再以后的管理维护可通过其它方式(远程桌面)来进行了。或者说在将来淘汰掉,可能直接 *** 作它的机会很少了。因为它强调的核心功能是服务,并不是作为单机让用户经常 *** 作了。这是一种观念的转变了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)