installutil使用
Installshield终极使用教程
Installshield终极使⽤教程Installshield使⽤1 说明(适⽤范围)1.1IS各⼯程介绍IS将安装⼯程根据⼯程的特点分了⼏⼤类:InstallScript ;Windows Installer;Universal installer。
其中,Universal这个⽐较好理解,⼤概就是⽤来做跨平台的安装程序。
InstallScript 和Windows Installer的区别,我到是⼀直不是很清楚,⼤概意思就是如果你使⽤InstallScript模式是使⽤脚本来驱动安装界⾯,使⽤Windows Installer则主要是使⽤操作系统⾃带的安装服务来驱动安装。
在每个⼤类⾥⾯有划分了不同的⼩类。
这⾥请参考IS帮助中的说明。
2 COMMON篇之InstallScript Porject2.1使⽤向导做⼀个简单的安装包2.1.1了解你要安装的程序⾸先你要清楚,你的程序所需要的运⾏环境要求。
这个安装包例⼦中,我们要打包这样⼀个系统:主程序是LearnQClient.exe,rtcdll.dll,ImageOle.dll,dxmrtp.dll,dsoframer.ocx,config.ini,许可协议.txt;它运⾏时需要读取当前⽬录下的config.ini,由于这个程序是⽤VC开发的,所以还需要运⾏的机器上有vc的运⾏库。
具备了这个环境,LearnQClient.exe程序才能正常运⾏起来。
这就要求我们做好的安装程序安装时要将LearnQClient.exe,rtcdll.dll,ImageOle.dll, dxmrtp.dll,dsoframer.ocx,config.ini拷贝到指定的安装⽬录,也可将ImageOle.dll,dsoframer.ocx拷贝到当前系统的系统⽬录(windows9x中系统⽬录是windows/system;windows 2000/xp的系统⽬录是system32)。
Windows系统使用cmd命令安装和卸载服务
Windows系统中使用cmd命令安装和卸载服务方法如下:
第一种方法:
1. 开始 ->运行 ->cmd
2. cd到C:\WINDOWS\\Framework\v2.0.50727(Framework版本号按IIS配置)
3. 安装服务:运行命令行 InstallUtil.exe E:/test.exe
卸载服务:运行命令行 InstallUtil.exe -u E:/test.exe
这样就能删除了,但如果还是不能删除的话,没关系下面还有一种方法。
第二种方法:
运行-->cmd-->到c:\windows\system32文件夹下-->输入sc delete <服务名称>,然后就可以把服务卸载了
这时候,我们可以用另外一个命令来卸载,如下:
C:\WINDOWS\system32>sc delete MyService
其中的 MyService 是你的服务的名字,比如如下的服务截图,它的卸载命令就可以如下写:
sc delete "服务名"
当然你也可以用这个工具create,start,stop服务。
比如,我们就可以用下面的命令,安装服务,并把服务启动起来。
installutil HongjunGuo.JobsWindowsService.exe
sc start "服务名"。
利用dotNet命令行工具
利用.NET Framework命令行工具Visual Studio .NET 是开发 .NET 应用程序的最流行的方法,.NET 框架提供了非常多的命令工具。
此外,.NET Framework SDK 还提供了更多的命令行工具。
事实上,像Visual Studio 和SharpDevelop 之类的 IDE 通常也都提供这些工具。
下面让我们详细看一下随 .NET Framework 一起安装的这些工具,以及如何在项目中使用它们。
(注意:在这篇文章中我使用的是 .NET Framework 1.1 版本。
)使用 .NET Framework.NET Framework 命令行程序的默认安装目录是:C:\(base Windowsdirectory)\\Framework\(framework version)。
在我的计算机上,由于安装的操作系统是 Windows 2000,所以 .NET Framework 1.1 版本安装在 winnt 目录下,所以其路径是:C:\winnt\\Framework\v1.1.4322这个目录包含无数的 dll,配置文件和可执行文件,等等。
在这篇文章中,我将把重点放在可执行文件上。
下面是这些程序的一个纲要:Al.exe:程序集链接器(Assembly Linker),该工具从一个或多个模块或者资源文件生成一个带有一个程序集清单的文件。
模块是一个没有程序集清单的微软中间语言文件(MSIL)。
所有的 Visual Studio 编译器都生成程序集。
然而,如果你有一个或多个模块(没有清单的元数据),你可以利用 Al.exe 工具使用一个独立文件中的清单创建一个程序集。
Aspnet_regiis.exe:这个工具允许你在 IIS 上安装 。
此外,它还可以简化同时运行的多个 版本的使用。
它允许你为 应用程序更新脚本映射以指向与该工具关联的 ISAPI 版本。
这个工具还可以用来显示所有安装的 版本的状态,注册 版本以及工具,创建客户端脚本目录,完成其它配置操作。
installshield2010学习文档
Installshield学习资料Installshield是一个制作安装程序的软件,下面以一个实例讲述installshield的简单用法。
1、打开installshield软件,界面如下2、新建一个项目,点击file菜单—》new…,界面如下,选择如下面红色区域,输入项目名字,点击“ok”3、进入下面的界面,下面的那一条,是新建一个安装程序的向导。
4、点击向导的第一步,出现如下界面,输入的相应的信息5、点击向导的第二步6、出现如下界面,点击Yes单选按钮7、如下图,用“New”按钮建立两个features,分别是java和tomcat,用来存放安装文件,8、点击向导的第三步“Application Files”9、出现以下界面,下拉框选中“java”,在左边选中“Application TargetFolder”,点击右下角的“Add Folders”,如第二个图,选中已经准备好的Java安装文件(就是JAVA安装以后的生成的那些文件);点击“确定”出现以下页面点击“Yes”如上设置,点击“OK”.10、选中下拉框选中“tomcat”,方法同上,设置tomcat下的安装文件;再添加一个文件startup.bat,用来做快捷方式时用(在12步时用),注意添加文件时点击“Add Files”按钮。
11、点击向导的第四步:“Application Shortcuts”12、点击“New”选中“startup.bat”,13、修改安装协议:点击“Installation Designer”--- 选择左边的“Behavior and Logic”,如下选择14、新建一个自己的文档,输入协议内容,名字为license.rtf,回到刚才界面,右边的部分如下,将右边的license.rtf删除,在右边的部分右击鼠标,可以选择插入文件,将自己的文件插入即可15、设置默认安装路径:点击“Installation Designer”---→选择左边的“Behavior and Logic”-→”InstallScript”,如下以下界面16、如图选择17、代码做如下更改:18、如图选择19、这只是简单的安装。
Windows Service:SC 和 InstallUtil 区别
就是在部署和卸载Windows Service 的时候,我介绍了两种不同的命令:SC和InstallUtil,为什么在使用SC的时候,内部不需要创建ProjectInstaller,而使用InstallUtil的时候,却一定要创建ProjectInstaller,带着疑问,查阅了一些资料,终于找出了一些线索,不足的地方还请懂的指点一下。
原来以为SC是最底层的命令行,而InstallUtil是调用SC命令来创建的,可惜我犯了个比较低级的错误,所有的一切应该都来源于Windows API,不管是SC,还是InstallUtil。
我们先来看看InstallUtil,MSDN的解释是:安装程序工具使您得以通过在执行指定程序集中的安装程序组件来安装和卸载服务器资源,。
此工具与System.Configuration.Install 命名空间中的类一起工作。
Installutil.exe 使用反射检查指定的程序集并查找将RunInstallerAttribute设置为true的所有Installer类型。
然后此工具在Installer类型的每个实例上执行Install 方法或Uninstall 方法。
Installutil.exe 以事务性方式执行安装;如果有一个程序集未能安装,则Installutil.exe 回滚其他所有程序集的安装。
卸载不是事务性的。
这样一看,InstallUtil应该是调用了我们在Windows Service中添加的ProjectInstaller中的serviceInstaller1和serviceProcessInstaller1,后两者是最终部署和卸载Windows Service 的Installer,那么serviceInstaller1和serviceProcessInstaller1之间又是什么关系呢??用Reflect 查看了下这两者的源码,我目前的结论大概是:serviceProcessInstaller1主要是存储了一些与Account相关的信息,并且在Install的时候检查Account的权限;但是serviceInstaller1则是用来存储与服务相关的信息,比如:服务名称,服务描述,启动模式,等等,并且在Install的时候创建服务;serviceInstaller1在Install的时候做了以下几件事情:1.LogMessage: 记录Install 日志2.CheckEnvironment : 检查安装环境,主要是系统的OS版本和Service环境的OS版本是否一致查找父级Installer(Parent属性)以及父级Installer的子Installer中有没有ServiceProcessInstaller,并将找到的ServiceProcessInstaller赋值给该ServiceInstaller的Parent属性,同时将ServiceProcessInstaller中有关Account的信息给拷贝过来就是在部署和卸载Windows Service 的时候,我介绍了两种不同的命令:SC和InstallUtil,为什么在使用SC的时候,内部不需要创建ProjectInstaller,而使用InstallUtil的时候,却一定要创建ProjectInstaller,带着疑问,查阅了一些资料,终于找出了一些线索,不足的地方还请懂的指点一下。
Windows服务调试
Windows服务的调试
Windows服务的调试相对比较困难,因为必须得先安装到操作系统中,这样就脱离了IDE了,所以调试相对麻烦一些。
1.调试前的准备工作,为了能顺利的进行调试,需要启动一个服务“Terminal Services”(注:此服务在WIN7中叫Remote Desktop Services)。
2.将正在编写的Windows服务中的OnStart的方法中,最前面添加一条,让线程休息30秒的语句;在休息的后面的语句上加上断点。
3.重新生成Windows服务工程。
4.使用命令行命令installutil安装Windows服务。
5.打开服务管理器,找到刚才安装的Windows服务。
6.启动这个服务。
7.在IDE中选择“调试”菜单,选择“附加到进程”。
8.在“可用进程”列表中找到刚才启动的服务,附了个加。
9.这是还没有执行到断点的时候的情况。
10.这是命中断点的时候的情况。
到此,咱们的Windows服务就可以进行调试了。
关键点1:Terminal Services必须启动。
关键点2:要调试的服务必须预先安装。
关键点3:必须在OnStart的第一句之前写上让线程休息一段时间,因为一旦服务启动,那么一定调用了OnStart方法,如果这时候再去手忙脚乱的附加到进程,可能等你附加完成,断点的语句早都已经执行过了,所以当服务启动的时候,先休息一会是必要的,这样,我们的调试过程就不会手忙脚乱的了。
install的用法
install的用法
1. “Install”可以表示安装软件或硬件呢,就像你给你的电脑装上一个超酷的游戏,比如“我昨天 install 了一款好玩的游戏,现在随时都能玩啦”。
2. 当你把新家具搬进房间,那不也可以说是 install 新家具嘛,像“他今天把新沙发 install 好了,客厅一下子焕然一新”。
3. 有没有想过给你的生活 install 一些新的习惯呀?比如每天早起锻炼,“她决定 install 这个早起锻炼的习惯,让自己更健康”。
4. 建房子也能用 install 这个词呢,工人把一块块砖 install 起来,变成坚固的房子,“他们慢慢地 install 起了这栋漂亮的大楼”。
5. 学习新知识也像是在心里 install 新的程序呀,“他努力地在脑子里install 各种知识,让自己变得更聪明”。
6. 心灵上也可以 install 积极的信念呢,“我们要在心中 install 相信自己能成功的信念”。
7. 有时候,在团队中 install 良好的合作氛围也是超级重要的呀,“大家一起努力 install 这种积极的合作氛围吧”。
总之,“install”的用法真是多种多样,好好运用它能让我们的表达更丰富呢!。
Windows Service:SC 和 InstallUtil 区别
就是在部署和卸载Windows Service 的时候,我介绍了两种不同的命令:SC和InstallUtil,为什么在使用SC的时候,内部不需要创建ProjectInstaller,而使用InstallUtil的时候,却一定要创建ProjectInstaller,带着疑问,查阅了一些资料,终于找出了一些线索,不足的地方还请懂的指点一下。
原来以为SC是最底层的命令行,而InstallUtil是调用SC命令来创建的,可惜我犯了个比较低级的错误,所有的一切应该都来源于Windows API,不管是SC,还是InstallUtil。
我们先来看看InstallUtil,MSDN的解释是:安装程序工具使您得以通过在执行指定程序集中的安装程序组件来安装和卸载服务器资源,。
此工具与System.Configuration.Install 命名空间中的类一起工作。
Installutil.exe 使用反射检查指定的程序集并查找将RunInstallerAttribute设置为true的所有Installer类型。
然后此工具在Installer类型的每个实例上执行Install 方法或Uninstall 方法。
Installutil.exe 以事务性方式执行安装;如果有一个程序集未能安装,则Installutil.exe 回滚其他所有程序集的安装。
卸载不是事务性的。
这样一看,InstallUtil应该是调用了我们在Windows Service中添加的ProjectInstaller中的serviceInstaller1和serviceProcessInstaller1,后两者是最终部署和卸载Windows Service 的Installer,那么serviceInstaller1和serviceProcessInstaller1之间又是什么关系呢??用Reflect 查看了下这两者的源码,我目前的结论大概是:serviceProcessInstaller1主要是存储了一些与Account相关的信息,并且在Install的时候检查Account的权限;但是serviceInstaller1则是用来存储与服务相关的信息,比如:服务名称,服务描述,启动模式,等等,并且在Install的时候创建服务;serviceInstaller1在Install的时候做了以下几件事情:1.LogMessage: 记录Install 日志2.CheckEnvironment : 检查安装环境,主要是系统的OS版本和Service环境的OS版本是否一致查找父级Installer(Parent属性)以及父级Installer的子Installer中有没有ServiceProcessInstaller,并将找到的ServiceProcessInstaller赋值给该ServiceInstaller的Parent属性,同时将ServiceProcessInstaller中有关Account的信息给拷贝过来就是在部署和卸载Windows Service 的时候,我介绍了两种不同的命令:SC和InstallUtil,为什么在使用SC的时候,内部不需要创建ProjectInstaller,而使用InstallUtil的时候,却一定要创建ProjectInstaller,带着疑问,查阅了一些资料,终于找出了一些线索,不足的地方还请懂的指点一下。
python中对util工具类的引用 -回复
python中对util工具类的引用-回复在Python中,util工具类是一种常用的工具类,它提供了一系列常用函数和方法,以便简化开发过程中的代码编写和问题解决。
在本文中,我将一步一步地解释如何引用和使用Python中的util工具类。
首先,让我们来了解一下何为util工具类。
在软件开发中,util(utility)是指那些比较基础而且通用的功能组件或者类。
这些组件或类在各种项目中都很常见,因此被整合到单个工具包中,供开发人员进行重复使用。
很多编程语言中都有自己的util工具类,而在Python中,我们可以通过引用一些内置的模块或自定义的库来使用这些工具类。
在Python中,util工具类的引用通常需要两个步骤:导入(import)和调用(调用)。
导入是指将需要使用的模块或库加载到当前的Python环境中。
Python 提供了import语句来实现导入功能。
例如,如果我们想引用Python内置的datetime模块中的util工具类,我们可以使用以下代码来进行导入:pythonimport datetime这样,我们就可以在当前的Python程序中使用datetime模块中的util工具类了。
另外一种常见的导入方式是指定模块名称的别名,以便简化代码。
比如,如果我们想使用datetime模块中的util工具类,但是不想每次都输入完整的模块名,我们可以使用以下代码进行导入:pythonimport datetime as dt这样,我们就可以使用dt来代替datetime模块的名称。
例如,调用datetime模块中的datetime类的构造函数可以改为使用dt来引用:pythonnow = dt.datetime.now()另外一种导入方式是只导入需要使用的类或函数。
这种方式可以避免导入整个模块,从而减少内存占用。
例如,如果我们只需要使用datetime模块中的date类,我们可以使用以下代码进行导入:pythonfrom datetime import date这样,我们就可以直接使用date类,而不需要引用完整的模块名。
创建Windows服务(Windows Services)N种方式总结
最近由于工作需要,写了一些windows服务程序,有一些经验,我现在总结写出来。
目前我知道的创建创建Windows服务有3种方式:a.利用.net框架类ServiceBaseb.利用组件Topshelfc.利用小工具instsrv和srvany下面我利用这3种方式,分别做一个windows服务程序,程序功能就是每隔5秒往程序目录下记录日志:a.利用.net框架类ServiceBase本方式特点:简单,兼容性好通过继承.net框架类ServiceBase实现第1步: 新建一个Windows服务public partial class Service1 : ServiceBase{readonly Timer _timer;private static readonly string FileName = Path.GetDirectoryName( Assembly.GetExecutingAssembly ( ).Location ) + @"\" + "test.txt";public Service1 ( ){InitializeComponent ( );_timer = new Timer ( 5000 ){AutoReset = true ,Enabled = true};_timer.Elapsed += delegate ( object sender , ElapsedEventArgs e ) {this.witre ( string.Format ( "Run DateTime {0}", DateTime.Now ) ); };}protected override void OnStart ( string [ ] args ){this.witre ( string.Format ( "Start DateTime {0}", DateTime.Now ) ); }protected override void OnStop ( ){this.witre ( string.Format ( "Stop DateTime {0}" , DateTime.Now ) + Environment.NewLine );}void witre ( string context ){StreamWriter sw = File.AppendText ( FileName );sw.WriteLine ( context );sw.Flush ( );sw.Close ( );}}第2步: 添加Installer[RunInstaller ( true )]public partial class Installer1 : System.Configuration.Install.Installer {private ServiceInstaller serviceInstaller;private ServiceProcessInstaller processInstaller;public Installer1 ( ){InitializeComponent ( );processInstaller = new ServiceProcessInstaller ( );serviceInstaller = new ServiceInstaller ( );processInstaller.Account = ServiceAccount.LocalSystem;serviceInstaller.StartType = ServiceStartMode.Automatic;serviceInstaller.ServiceName = "my_WindowsService";serviceInstaller.Description = "WindowsService_Description";serviceInstaller.DisplayName = "WindowsService_DisplayName";Installers.Add ( serviceInstaller );Installers.Add ( processInstaller );}第3步:安装,卸载Cmd命令installutil WindowsService_test.exe (安装Windows服务)installutil /u WindowsService_test.exe (卸载Windows服务)代码下载:/aierong/WindowsService_test.rarb.利用组件Topshelf本方式特点:代码简单,开源组件,Windows服务可运行多个实例Topshelf是一个开源的跨平台的服务框架,支持Windows和Mono,只需要几行代码就可以构建一个很方便使用的服务. 官方网站:第1步:引用程序集TopShelf.dll和log4net.dll第2步:创建一个服务类MyClass,里面包含两个方法Start和Stop,还包含一个定时器Timer,每隔5秒往文本文件中写入字符public class MyClass{readonly Timer _timer;private static readonly string FileName = Directory.GetCurrentDirectory ( ) + @"\" + "test.txt";public MyClass ( ){_timer = new Timer ( 5000 ){AutoReset = true ,Enabled = true};_timer.Elapsed += delegate ( object sender , ElapsedEventArgs e ) {this.witre ( string.Format ( "Run DateTime {0}", DateTime.Now ) ); };void witre ( string context ){StreamWriter sw = File.AppendText ( FileName );sw.WriteLine ( context );sw.Flush ( );sw.Close ( );}public void Start ( ){this.witre ( string.Format ( "Start DateTime {0}", DateTime.Now ) ); }public void Stop ( ){this.witre ( string.Format ( "Stop DateTime {0}" , DateTime.Now ) + Environment.NewLine );}}第3步:使用Topshelf宿主我们的服务,主要是Topshelf如何设置我们的服务的配置和启动和停止的时候的方法调用class Program{static void Main ( string [ ] args ){HostFactory.Run ( x =>{x.Service<MyClass> ( ( s ) =>{s.SetServiceName ( "ser" );s.ConstructUsing ( name => new MyClass ( ) );s.WhenStarted ( ( t ) => t.Start ( ) );s.WhenStopped ( ( t ) => t.Stop ( ) );} );x.RunAsLocalSystem ( );//服务的描述x.SetDescription ( "Topshelf_Description" );//服务的显示名称x.SetDisplayName ( "Topshelf_DisplayName" );//服务名称x.SetServiceName ( "Topshelf_ServiceName" );} );}}第4步: cmd命令ConsoleApp_Topshelf.exe install (安装Windows服务)ConsoleApp_Topshelf.exe uninstall (卸载Windows服务)代码下载:/aierong/ConsoleApp_Topshelf.rarc.利用小工具instsrv和srvany本方式特点:代码超级简单,WindowsForm程序即可,并支持程序交互(本人最喜欢的特点),好像不支持win7,支持xp win2003首先介绍2个小工具:instsrv.exe:用以安装和卸载可执行的服务srvany.exe:用于将任何EXE程序作为Windows服务运行这2个工具都是是Microsoft Windows Resource Kits工具集的实用的小工具你可以通过下载并安装Microsoft Windows Resource Kits获得/en-us/download/details.aspx?id=17657第1步: 新建WindowsForm程序public partial class Form1 : Form{Timer _timer;private static readonly string FileName = Application.StartupPath + @"\" + "test.txt";public Form1 ( ){InitializeComponent ( );}private void Form1_Load ( object sender , EventArgs e ){_timer = new Timer ( ){Enabled = true ,Interval = 5000};_timer.Tick += delegate ( object _sender , EventArgs _e ){this.witre ( string.Format ( "Run DateTime {0}", DateTime.Now ) ); };}void _timer_Tick ( object sender , EventArgs e ){throw new NotImplementedException ( );}void witre ( string context ){StreamWriter sw = File.AppendText ( FileName );sw.WriteLine ( context );sw.Flush ( );sw.Close ( );}private void button1_Click ( object sender , EventArgs e ){MessageBox.Show ( "Hello" );}}第2步:安装,卸载服务的安装步骤分5小步:(1)打开CMD,输入以下内容,其中WindowsForms_WindowsService为你要创建的服务名称格式:目录绝对路径\instsrv WindowsForms_WindowsService 目录绝对路径\srvany.exe 例如:D:\TempWork\win\Debug\instsrv.exe WindowsForms_WindowsService D:\TempWor k\win\Debug\srvany.exe(2)regedit打开注册表编辑器,找到以下目录HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WindowsForms_Window sService(3)鼠标右键单击WindowsForms_WindowsService,创建一个"项",名称为"Parameters"(4)鼠标左键单击"Parameters",在右边点击鼠标右键,创建一个"字符串值"(REG_SZ),名称为"Application",数值数据里填写目录下可执行文件的绝对路径+文件名例如:D:\TempWork\win\Debug\WindowsFormsApplication_Exe.exe(5)打开services.msc服务控制面板,找到WindowsForms_WindowsService服务,鼠标右键-属性-登陆,勾选"允许服务与桌面交互"启动服务,可以看到程序界面卸载服务D:\TempWork\win\Debug\instsrv.exe WindowsForms_WindowsService REMOVE 代码下载:/aierong/WindowsFormsApplication_Exe.rar。
安装Windows服务报错:未能加载文件或程序集XXX或它的某一个依赖项。该模块应包含一个。。。
安装Windows服务报错:未能加载⽂件或程序集XXX或它的某⼀个依赖项。
该模块应包含⼀个。
问题描述:新建的Windows服务程序,使⽤InstallUtil.exe安装,结果报错:未能加载⽂件或程序集"XXX"或它的某⼀个依赖项。
该模块应包含⼀个程序集清单。
问题分析:
初看错误,第⼀反应是程序出了问题,但是这个是我新建的项⽬,啥代码都没写呢,不可能出错。
然后,问题定位到环境上,多次尝试后发现是使⽤的InstallUtil.exe所在的Framework版本不对,我的项⽬是Framework 4.5,因此应该使⽤适合该版本的InstallUtil.exe⽬录。
解决办法:
(1)⾸先定位到⽬录:C:\Windows\\Framework64\v4.0.30319
(2)然后,调⽤InstallUtl.exe安装服务。
installation的用法
installation的用法installation的用法什么是installation?Installation 是一个英语单词,源自于拉丁语“installatio”,意为“安装”或“装配”。
它在不同的领域和语境中有不同的用法,可以指代物品、设备或软件的安装过程。
安装软件的用法1.软件的安装当我们购买或下载一款新软件时,我们需要进行软件的安装过程。
这包括将软件的安装文件下载到计算机中,并按照安装程序的指示进行安装。
安装软件可以通过以下几种方式进行:–通过光盘或USB驱动器进行安装。
将安装盘或USB插入计算机,按照安装程序指引完成安装过程。
–通过软件下载网站进行在线安装。
将安装文件下载到计算机中,运行安装程序进行安装。
–通过应用商店进行安装。
打开应用商店,搜索并下载所需软件,系统会自动进行安装。
2.软件的卸载当我们不再需要某个软件时,我们可以将其从计算机中卸载。
卸载软件可以通过以下几种方式进行:–在Windows系统中,打开“控制面板”,点击“程序”或“卸载程序”,选择要卸载的软件,点击“卸载”按钮。
–在Mac系统中,可以从“应用程序”文件夹中直接将软件拖到“废纸篓”中,然后清空废纸篓即可。
3.软件的更新软件开发商经常会推出新版本的软件,以修复漏洞、改进性能或添加新功能。
为了使用最新的软件版本,我们需要进行软件的更新。
软件的更新可以通过以下几种方式进行:–在Windows系统中,打开软件的设置或帮助菜单,查找“检查更新”选项,然后按照提示进行更新。
–在Mac系统中,打开App Store应用,点击“更新”选项,选择要更新的软件,点击“更新”按钮。
设备的安装用法1.设备的组装当我们购买一件新设备时,比如家具、电子设备或玩具等,通常需要进行设备的组装。
设备组装可以通过以下几种方式进行:–根据设备的说明书进行组装。
按照说明书提供的图示和步骤,逐步完成设备的组装过程。
–在某些情况下,设备可能已经预先组装好,并且只需要进行简单的连接和调整。
c#windowsserver安装启动与卸载
c#windowsserver安装启动与卸载使⽤installutil.exe安装卸载服务时,由于需要指向服务的全路径,由于⽣成⽬录往往不是服务发布的最终⽬录,很不便利,下⾯介绍两种⽅式⽅便操作:⽅式⼀:项⽬中加⼊install.bat与uninstall.bat⽂件,设置为始终复制,⽣成后,在debug\bin下双击install.bat安装启动服务,双击uninstall.bat卸载服务,需要管理员权限时右击以管理员运⾏。
其中install.bat⽂件如下:@echo off@title 安装windows服务set curdir=%~dp0cd /d %curdir%%SystemRoot%\\Framework\v4.0.30319\installutil.exe 服务.exeecho==============================================================echo=echo windows服务程序安装echo=echo==============================================================@echo offnet start 服务名pause其中的set curdir=%~dp0cd /d %curdir%是通过获取当前bat⽂件所在的⽬录,然后cd 到该⽬录来解决该问题uninstall.bat⽂件如下:@echo off@title 卸载Windows服务set curdir=%~dp0cd /d %curdir%%SystemRoot%\\Framework\v4.0.30319\installutil.exe /u 服务.exeecho==============================================================echo=echo windows服务卸载echo=echo==============================================================@echo offpause⽅式⼆:使⽤windows⾃带的sc命令安装或卸载服务正常创建windows server时,main函数如下:static class Program{///<summary>///应⽤程序的主⼊⼝点。
转储软件使用说明文档
转储软件使用说明文档概要转储软件主要由三部分组成,即内外网的数据同步转发、实时转储Windows 服务、转储前端。
内外网的数据转发以DLL的方式运行,外网调用DLL的发送接口发送数据,内网调用该DLL的接收接口接收数据并写数据库。
实时转储可根据指定的转储周期,查询该时间段内的新记录,并对其进行计算和统计,生成与标准库对应的新记录,将其写进标准库中。
转储前端主要包括原始数据库和标准数据库的连接参数设置,测站预警参数表配置,(水位-流量/库容-曲线)关系曲线编辑,转储参数设置,异常记录转储,报警参数设置。
软件安装1、实时转储windows服务安装由于该windows服务使用VS2013编译,所以在运行windows服务前,请确保已经安装了.NET 4.5及以上版本,同时由于服务涉及到一些文件的读写操作,考虑到文件操作权限的问题,请将该windows服务的安装文件放在非操作系统磁盘下,譬如E盘或F盘。
在此假设windows服务的安装文件路径为E:\Dump\DBDumpService.exe,具体可按照用户的实际安装路径。
安装时可以采用手动安装的方式,打开操作下下的命令提示符CMD,切换到C:\Windows\\Framework\v4.0.30319目录下,调用v4.0.30319目录下的InstallUtil.exe工具完成转储服务的注册,具体命令如下:C:\Windows\\Framework\v4.0.30319\InstallUtil.exe E:\Dump\DBDumpService.exe如果注册成功,会在CMD界面下显示“提交成功”的信息,此时打开操作系统的Windows服务管理窗口,可以看到被注册的服务。
当注册不成功时,可能由以下几种情况造成:1)命令提示符CMD窗口不是以管理员身份打开,此时请用管理员身份打开CMD窗口,然后再次执行上述的注册命令;2)当使用管理员权限执行注册命令时,仍无法安装服务,则判断是否已存在该服务或该服务是否已经开启,如果已经开启,则先停止服务,然后在CMD窗口中输入sc delete DBDumpService 命令删除服务,然后再次执行服务注册命令;3)对于非以上两种情况引起的服务无法注册的问题,可能是由程序内部异常引起的,或操作系统异常引起,可能需要重启计算机再注册。
installshield 2021 用法
installshield 2021 用法
InstallShield 2021是一款强大的安装程序制作工具,可以帮助用户轻松创建可靠的安装程序。
以下是使用InstallShield 2021的基本步骤:
打开InstallShield 2021,选择“创建新项目”。
选择要创建的安装程序类型,例如完整安装程序、自定义安装程序等。
输入项目名称和保存路径,然后点击“下一步”。
选择目标平台,例如32位或64位。
选择安装程序的基本布局和外观,例如安装程序标题、背景图片等。
添加要安装的文件和文件夹,可以从本地计算机拖放文件或文件夹到安装程序中,也可以使用“添加文件”对话框添加文件。
添加必要的快捷方式和关联文件类型,以便用户可以双击文件或文件夹时打开默认应用程序。
配置安装选项,例如安装过程中需要显示的对话框、安
装位置、文件关联等。
配置卸载选项,例如卸载程序标题、卸载原因等。
配置系统要求和许可协议,以便用户了解安装程序的要求和许可条款。
点击“完成”按钮,InstallShield 2021将自动生成安装程序。
在生成安装程序后,可以将其复制到其他计算机上进行测试和分发。
需要注意的是,使用InstallShield 2021需要一定的技能和经验,建议先了解其基本概念和操作方法后再进行使用。
同时,为了确保生成的安装程序的可靠性和安全性,建议定期更新和升级InstallShield 2021。
nuglify 使用方法
nuglify 使用方法【原创实用版2篇】目录(篇1)1.Nuglify 简介2.Nuglify 安装与配置3.Nuglify 使用示例4.Nuglify 优点与不足正文(篇1)1.Nuglify 简介uglify 是一款用于 JavaScript 代码压缩、混淆和优化的工具,可以有效地减小 JavaScript 代码的体积,提高加载速度,同时保持代码的可读性和可维护性。
Nuglify 适用于前端开发者,可以帮助他们优化网站性能,提高用户体验。
2.Nuglify 安装与配置uglify 可以通过 npm 进行安装,具体操作如下:```bashpm install -g nuglify```安装完成后,可以通过以下命令进行配置:```javascriptuglify --config config.json```在 config.json 文件中,可以设置压缩率、输出文件名等选项。
例如:```json{"output": "dist/script.min.js","compress": true,"mangle": true,"uglify": true}```3.Nuglify 使用示例以下是一个简单的使用示例:```javascript// 假设有一个名为 script.js 的文件uglify script.js```执行上述命令后,Nuglify 会将 script.js 文件压缩、混淆并输出到名为 dist/script.min.js 的文件中。
4.Nuglify 优点与不足uglify 的优点在于其高度可定制的配置选项,可以根据实际需求调整压缩率、输出文件名等参数。
此外,Nuglify 支持批量处理,可以同时处理多个文件,提高开发效率。
然而,Nuglify 也存在一些不足。
首先,Nuglify 的使用门槛较高,需要开发者具备一定的前端知识才能熟练使用。
util包的用法
util包的用法util包是Java中十分重要的一个工具类集合,其中所涵盖的内容非常广泛,如日期、数学计算、随机数、正则表达式、文件读写等等,可以方便我们在编写Java程序时进行复杂的操作。
随着开源社区的不断发展及Java语言自身的迭代更新,util包所提供的功能也得到了不断地扩充和优化。
本文将从多个方面详细介绍util包的用法。
1. 日期类Java.util包中的日期类能够方便地表示各种日期和时间格式。
可以使用`java.util.Date`和`java.util.Calendar`来处理日期和时间。
其中,Date类提供了一些方法,可以获取当前的系统时间,也可以将日期和毫秒数进行相互转换;Calendar类则可以获取当前日期的年份、月份、日期、小时、分钟和秒等信息。
2. 数字类Java.math包中提供的数字类可以实现任意精度的计算,这对于一些需要高精度计算的场景非常有效。
其中,BigDecimal类和BigInteger类是比较常用的两个类,可以分别实现大浮点数和大整数的计算。
3. 随机数类Java.util包中提供的随机数类能够快速方便地生成伪随机数。
其中,`java.util.Random`类可以用来生成一系列的随机数。
例如,下面的代码可以生成0-99之间的一个随机数:```javaRandom rand = new Random();int n = rand.nextInt(100);```4. 字符串类Java.util包提供了一些非常方便的字符串函数。
例如,`java.util.StringTokenizer`类可以用来切分字符串,其构造函数所需的参数最常为被要切分的字符串和分隔符。
Java.util.regex包中提供了正则表达式的支持,可以用来完成字符串匹配、替换等操作。
5. 集合类Java.util包提供了各种类型的集合类,例如,ArrayList、HashMap、TreeSet等。
VS常用命令行使用说明
VS常⽤命令⾏使⽤说明语法:AxImp.exe xxx.ocxAxImp.exe xxx.ocx /sourceC#调⽤C++编写的ocx控件使⽤命令⾏ aximp将其编译成dll,如MyActiveX.ocx,编译后,则有AxMYACTIVEXLib.dll,MYACTIVEXLib.dll。
使⽤控制台程序调⽤该控件,添加引⽤AxMYACTIVEXLib.dll,然后AxMyActiveX my = new AxMyActiveX();my.CreateControl();//⽆界⾯程序,必须强制实例化控件才可以调⽤其⽅法,还需添加System.Windows.Forms引⽤my.DownloadPic(2, @"E:\新建⽂件夹", "18800", "Provider=OraOLEDB.Oracle;Data Source=HWITDB;User Id=system;Password=whhw;"); 注意:使⽤.net的命令⾏⼯具,⽣成的是4.0的dll,如需要使⽤低版本编译,则可以 C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin 去寻找低版本的exe。
InstallUtil.exe 服务.exeInstallUtil.exe 服务.exe如果要卸载服务InstallUtil.exe \u 服务.exe在windows server上可以直接敲击installutil *.exe或installutil *.exe -u⽤法:注册.net程序集,将.net程序集提取com接⼝给C++调⽤Regasm.exe xxx.dll /tlb将wsdl⽂件编译成cs源代码wsdl /n:ITMPConsole /o:C:\ConsoleService.cs C:\ConsoleService.wsdl说明:/n:命名空间 /o:输出⽂件名查看.net dll的PublicKeyToKensn -T "E:\temp\DDTek.Oracle.dll"如果还需要查询O Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342 类似的信息,直接使⽤Reflector就可以了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
InstallUtil在windows服务中的使用
1、新建一个Windows Service的方法:
1. 打开Visual Studio 2008新建一个project Solution;
2. 选择Windows->windows Service,修改服务名称:MyFirstService;
3. 在默认窗口Service1中右键Add Install,自动生成两个类。
4. 修改serviceInstaller1的属性:
a)ServiceName =”FirstService”;//设置服务名称
b)StartType = Automatic;//启动的模式有三种:“自动”、“手动”、“禁用”。
事实上,在“我的电脑”的“管理”->“服务”中,还有一种模式:“自动(延迟启动)”
c)Modifiers=public;
还有一些属性,比如DisplayName对应下图中的“显示名称”,ServiceName对应下图中的“服务名称”,而(Name)则对应,这些属性都是可以进行相应的修改的
5. 设置serviceProcessInstaller1组件的属性
1) Account = LocalSystem; //为最大的权限此属性还包括:LocalService、networkService、User(默认状态,如果使用User,则在安装的时候需要提供用户名和密码),如需要详细了解该属性,可以参照:
/zh-cn/system.serviceprocess.serviceprocessinstaller .account(VS.90).aspx
2) Modifiers=public;
6. 生成解决方案:选择release模式右键生成解决方案,则在相应的路径当中就会出现MyFirstService.exe文件。
7.使用installutil安装新建好的MyFirstService,方法如下:
一、打开Visual Studio 2008-> Visual Studio Tools-> Visual Studio 2008 Command Prompt。
二、使用命令:installutil (服务的绝对路径),点击运行,即可安装服务。
以下有几个需要注意的问题:
第一:上述二的“服务绝对路径”犹如:e:\新建文件夹
\test\MyFirstService\MyFirstService\bin\release\MyFirstService.exe,在这个地方需要注意的是:必须选择release下生成solution。
默认是在debug下生成solution。
第二:针对window7用户,在安装的过程中容易出现的几个错误:
∙使用的电脑不是使用系统管理员的账号登录,则会出现下面的错误。
(我已经做过测试),特别是在使用window7的用户特别需要注意,系统默认system账号是“禁用”模式。
∙第二种错误的可能就是服务已经存在,则会出现下面的错误
为了避免这种错误的发生,我们应该在安装服务的时候首先进行第三步(即如果可以的话,首先卸载已存在的服务)。
第三:用命令:installutil /u (服务的绝对路径),点击运行,即可卸载服务。
类似地,“服务的绝对路径”犹如:
e:\新建文件夹\test\MyFirstService\MyFirstService\bin\release\MyFirstService.exe。
在卸载一个服务的时候可能会出现以下两种情况:
∙正常情况:服务存在,而且已经启动,运行卸载,效果如下图:
当然,如果服务存在,但未启动,则在卸载的时候不会出现“试图停止服务”这个命令。
异常情况:服务不存在,或者二次卸载,则会出现以下情况:
2、installutil.exe的介绍。
(这一项在网上会有很多介绍,在这里只是做了一些简单的综述)
如要详细理解installutil的使用,可参照网址:
/en-us/library/50614e95(vs.71).aspx
当然,installutil事实上可以用于安装有.NET开发的所有应用安装程序。
当我们在Visual Studio 2008 Command Prompt中输入命令:installutil /h的时候,会打开installutil的所有帮助文档,如下:
第一个为默认情况下为安装程序所在的绝对路径和安装文件名,类似前面所提到的。
而/LogFile则是说明如果在安装的过程中,需要输出相应的安装日志的时候给定的日志文件的路径和日志文件名。
当然我们最主要的是“安装”和“卸载”命令。