用VS2005打包,如何让主程序在安装完成后自动启动

问题描述

用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安装好不需要重启电脑系统。

时间: 2024-11-29 17:04:40

用VS2005打包,如何让主程序在安装完成后自动启动的相关文章

.Net实现Windows服务安装完成后自动启动的两种方法

考虑到部署方便,我们一般都会将C#写的Windows服务制作成安装包.在服务安装完成以后,第一次还需要手动启动服务,这样非常不方便. 方法一:在安装完成事件里面调用命令行的方式启动服务 此操作之前要先设置下两个控件 设置serviceProcessInstaller1控件的Account属性为"LocalSystem"设置serviceInstaller1控件的StartType属性为"Automatic"   在服务器上添加安装程序,在private void P

winform怎么打包程序,使程序安装完成后,复制安装包同目录下的文件到安装目录

问题描述 如题,不知道我说清楚了没有,请大家不吝赐教啊 解决方案 解决方案二:解决方案右键新建项目---其他项目类型--安装和部署!把相应的DLL放进去.具体操作.自己网上找找把解决方案三:我挥泪~~~现在会普通的打包,复制安装包同目录下的文件到安装目录,这用什么实现呢,希望大家看到了,给个思路啊.是不是跟"C#项目打包,并自动安装SQL数据库"一样呢?解决方案四:新建部署项目,把你要的东西都放进去就行了解决方案五:忘了说,同目录下的文件是不固定的,解决方案六:因为文件(A)内容不固定

现完成了一套插件式构架的程序,用VS2005打包,能不能做到安装时选择了那些插件,才把相应插件的DLL安装进客户机去?

问题描述 现完成了一套插件式构架的程序,用VS2005打包,能不能做到安装时选择了那些插件,才把相应插件的DLL安装进客户机去? 解决方案 解决方案二:有人知道嘛?或者提下思路也好啊......解决方案三:顶上去..........解决方案四: 解决方案五:没人知道嘛?还是.NET自己打包,没法实现这种功能?一定要先把所以的DLL文件都COPY到客户机的?解决方案六:小顶一下解决方案七:可能你要自己在Setup程序里面写自定义的安装步骤,没写过具体也没办法告诉你你可以考虑InstallShiel

vs2005打包后安装的问题

问题描述 开发了一个程序,用vs2005打包,有以下现象.1在正常安装XP系统的电脑上可以正常安装2如果电脑上的XP系统是ghost版的,则出现以下提示安装程序检测到无法验证文件"C:DOCUME~1ADMINI~1LOCALS~1TempVSDD.tmpdotnetfxdotnetfx.exe"的发行者.日志文件如下:Thefollowingpropertieshavebeenset:Property:[AdminUser]=true{boolean}Property:[Proces

VS2005打包问题

问题描述 用VS2005打包好的应用程序提供了自动修复安装功能.这个问题困了我好几天了.请问该如何去掉该功能! 解决方案 解决方案二:这个是WindowsInstall服务的特性解决方案三:刚才没有发完!查询一下windowsinstall方面的资料试试看有没有解决方案.或者,移除安装的源文件这个修复就会失败了.另外,你为什么要去掉修复的功能呢?解决方案四:如果你不想用vs.net自带的打包工具,你可以改用其它的..打包工具很多的解决方案五:用WiX,很简单的.解决方案六:InnoSetup5这

安装vs2012后,vs2005、2010卸载会不会有问题

问题描述 安装vs2012后,vs2005.2010卸载会不会有问题 之前装过vs2005.2010,现在需要用vs2012所以现在电脑有三个vs版本,想卸载但是不知道会不会有其他软件用到这些环境,请大牛指教如何卸载才好? 解决方案 最好的卸载方式是重装系统.如果你不确信,最好对当前系统做一个备份再卸载. 解决方案二: 可以尝试做一下,试过了,你就心里有数了 解决方案三: 一般来说,是不会互相影响的. 但软件,偶尔也会出一些稀奇古怪的问题. 解决方案四: 会出现差错,要把之前的卸了再安装 解决方

Android 的apk重新打包签名后,安装成功后,手机中转屏(横竖屏切换)软件强行自动关闭了

问题描述 Android 的apk重新打包签名后,安装成功后,手机中转屏(横竖屏切换)软件强行自动关闭了 Android 的apk重新打包.签名后,安装成功后,手机中转屏(横竖屏切换)软件强行自动关闭了什么情况,我用apktool打包签名的. 解决方案 最好是接上调试,看看出错时的 logcat 的输出.如果是所有手机都出错,还比较好解决的,就怕重现不了. 解决方案二: 这种情况应该是不支持或不兼容. 解决方案三: activity在转屏的时候会执行onResume(),你可能是有一些变量在转屏

visual studio-使用VS打包程序后 安装exe后启动页面需要10秒才能显示页面,如果让页面一打开就有

问题描述 使用VS打包程序后 安装exe后启动页面需要10秒才能显示页面,如果让页面一打开就有 解决方案 这10秒一定是进行了读取数据库等耗时的操作,建议检查一下程序中有哪些操作耗时,向将该功能注释掉试一下是不是启动快了. 解决方案二: 这个应该是网页加载慢.一般不要程序一启动就做耗时操作.这样用户体验不好. 解决方案三: 网络问题 只能开心等待了 解决方案四: 给你个思路,软件开启的时候显示一张图片之类的,然后另开一个进程在主窗口加载页面,主窗口不显示,但是实例已经创建出来了,等页面加载完把主

mfc-MFC程序做好要打包,有办法限制安装次数吗?

问题描述 MFC程序做好要打包,有办法限制安装次数吗? MFC程序做好要打包,打包时可以限制安装次数吗?请推荐一下方法 解决方案 不知道你说的次数是什么意思是总安装次数,还是每计算机的安装次数.如果前者,你需要搭建一个服务器,每次安装的时候读取你的服务器,你的服务器计数累加,超过次数返回一个值,否则返回另一个.安装程序判断后再正式安装或者退出.如果是后者,你可以往计算机的注册表或者配置文件中写一个次数,判断安装次数.像installshield wise等安装程序制作工具都允许你在安装程序中加上