问题描述
用VS2005打包,如何让主程序在安装完成后自动启动
解决方案
解决方案二:
刚刚注册,这是仅有的40分。哈。。。
解决方案三:
添加一个新项目,项目类型为类库,然后在这个项目中添加一个安装程序类.添加类似下面的代码:usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Configuration.Install;namespaceCustomSetup{[RunInstaller(true)]publicpartialclassInstaller1:Installer{publicInstaller1(){InitializeComponent();}publicoverridevoidCommit(System.Collections.IDictionarysavedState){base.Commit(savedState);//添加自定义操作代码}(找来的。)
解决方案四:
为了那红色的40分
解决方案五:
自动启动需要添加服务吧?我记得是需要添加个服务的写注册表啥的
解决方案六:
打包程序设置里有安装完执行的设置弄个脚本啥的就OK了
解决方案七:
楼上的兄弟们,能说清楚一点吗?
解决方案八:
引用2楼wulinshe的回复:
添加一个新项目,项目类型为类库,然后在这个项目中添加一个安装程序类.添加类似下面的代码:usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Configuration.Install;namespaceCustomSetup{[RunInstaller(true……
Commit这个方法在哪里调用;
解决方案九:
publicclassOnAfteredInstall:Installer{publicOnAfteredInstall(){}protectedoverridevoidOnAfterInstall(System.Collections.IDictionarysavedState){base.OnAfterInstall(savedState);stringpath=this.Context.Parameters["targetdir"]+"my.exe";System.Diagnostics.Process.Start(path);}}OnAfterInstall这个方法我重写了一下,但在安装布署中,不知怎么调用OnAfterInstall这个方法。
解决方案十:
该回复于2011-01-26 17:02:47被版主删除
解决方案十一:
额。。。慢了一步,结果已经出来了。。。
解决方案十二:
http://topic.csdn.net/t/20061030/16/5119722.html刚刚看到别人以前提的类似问题,好像还没有解决???在线的朋友,请帮忙解决吧!!!
解决方案十三:
VS2005(c#)怎么做打包程序能使程序在安装结束后,自动执行程序路过的朋友,请帮忙!
解决方案十四:
该回复于2011-01-27 11:23:08被版主删除
解决方案十五:
看来都回家过年了,哈。
解决方案:
vs2005打包安装的时候在用户界面启动添加添加用户界面复选框,设置value为“是否开机启动”id"isstart"创建类库添加引用System.Configuration.Install;类继承Installer重写Install方法[RunInstaller(true)]publicclassClass1:Installer{privatestrings="";privatestringisRun="";publicoverridevoidInstall(IDictionarystateSaver){base.Install(stateSaver);s=Context.Parameters["targetDir"].Trim();isRun=Context.Parameters["key"].Trim();//安装完成执行base.Committed+=aa(stateSaver);}publicSystem.Configuration.Install.InstallEventHandleraa(IDictionaryaa){string[]arr=isRun.Split('_');if(arr.Length==3){if(arr[0]=="1"){//安装完运行Process.Start(s+"//软件名称.exe");}if(arr[1]=="1"){//开机启动RegistryKeyhklm=Registry.LocalMachine;RegistryKeyrun=hklm.CreateSubKey(@"SOFTWAREMicrosoftWindowsCurrentVersionRun");try{run.SetValue("软件名称.exe",s+"//软件名称.exe");hklm.Close();//button1_Click(this.button2,null);}catch(Exceptionmy){}}if(arr[2]=="1"){//打开使用手册Process.Start(s+"//ytyt.doc");}//if(arr[3]=="1")//{////添加到快速启动//}}returnnull;}}}
生成类库添加到安装文件切,换视图到自定义操作右击安装添加文件,选择刚生成的dll文件设置dll的属性customactiondata为/key="[第一个复选框id]_[第二个复选框]_[第三个复选框]"/targetDir="[TARGETDIR]"targetDir取值安装根目录
解决方案:
在设置为主输出的快捷方式就行了
解决方案:
恩,过年回家了,哈哈。没做过打包学习下
解决方案:
需要重新做个windows服务程序,检测到这个服务程序,然后就自动启动。
解决方案:
to:tanliang9999好像还实现不了,
解决方案:
引用18楼gefangliang的回复:
需要重新做个windows服务程序,检测到这个服务程序,然后就自动启动。
在主程序之前,还要开发一个服务端的程序吗?
解决方案:
安装之后,将快捷方式拖动到“开始”菜单中的“启动”项下,就OK了
解决方案:
引用21楼lxdlut的回复:
安装之后,将快捷方式拖动到“开始”菜单中的“启动”项下,就OK了
客户要求这么做。
解决方案:
该回复于2011-01-28 10:24:10被版主删除
解决方案:
正好我新作的WINFROM也要出来了,帮你就是帮自己。。
解决方案:
引用24楼ca3355的回复:
正好我新作的WINFROM也要出来了,帮你就是帮自己。。
谢。
解决方案:
这个问题已提出三天了,怎么还得不到一个完善的答案呀,
解决方案:
该回复于2011-01-28 10:46:50被版主删除
解决方案:
使用VS自带的打包模块可以很方便的对项目进行打包部署,同时我们也可以在安装部署时操作注册表实现开机启动软件。具体实现如下:创建安装部署这部分就不用说了,添加安装部署项目后,鼠标右键安装项目->视图->注册表,要使软件在开机就运行,可以在HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun中添加键值保存软件目录。在这里我们依次添加以上的项,然后在Run中添加键值,键名可以自己起,value要填软件的物理路径。物理路径是客户在部署确定的,我们如何获取呢?这里我们可以使用[TARGETDIR]获取客户选择的路径,在加上软件的启动文件名称。比如软件启动文件的名称是Client.exe,那么Value的值就为:[TARGETDIR]Client.exe.生成安装项目。找到bin目录下的setup.exe文件运行,安装结束后我们可以在注册表中找到相应的键值。重启电脑系统就会自动运行我们设置的软件。
解决方案:
上面的我都操作完毕,以实现。“重启电脑系统就会自动运行我们设置的软件。”就这句话我还有点问题,请问下不重启电脑系统,像QQ安装好不需要重启电脑系统。