29 个解决方案
#1
刚刚注册,这是仅有的
40分。哈。。。
#2
添加一个新项目,项目类型为类库,然后在这个项目中添加一个安装程序类.
添加类似下面的代码:
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
namespace CustomSetup
{
[RunInstaller(true)]
public partial class Installer1 : Installer
{
public Installer1()
{
InitializeComponent();
}
public override void Commit(System.Collections.IDictionary savedState)
{
base.Commit(savedState);
//添加自定义操作代码
}
(找来的。)
添加类似下面的代码:
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
namespace CustomSetup
{
[RunInstaller(true)]
public partial class Installer1 : Installer
{
public Installer1()
{
InitializeComponent();
}
public override void Commit(System.Collections.IDictionary savedState)
{
base.Commit(savedState);
//添加自定义操作代码
}
(找来的。)
#3
为了那红色的40分
#4
自动启动需要添加服务吧?我记得是需要添加个服务的 写注册表啥的
#5
打包程序设置里有安装完执行的设置 弄个脚本啥的就OK了
#6
楼上的兄弟们,能说清楚一点吗?
#7
Commit
这个方法在哪里调用;
#8
public class OnAfteredInstall : Installer
{
public OnAfteredInstall()
{
}
protected override void OnAfterInstall(System.Collections.IDictionary savedState)
{
base.OnAfterInstall(savedState);
string path = this.Context.Parameters["targetdir"] + "my.exe";
System.Diagnostics.Process.Start(path);
}
}
OnAfterInstall 这个方法我重写了一下,但在安装布署中,不知怎么调用 OnAfterInstall 这个方法。
{
public OnAfteredInstall()
{
}
protected override void OnAfterInstall(System.Collections.IDictionary savedState)
{
base.OnAfterInstall(savedState);
string path = this.Context.Parameters["targetdir"] + "my.exe";
System.Diagnostics.Process.Start(path);
}
}
OnAfterInstall 这个方法我重写了一下,但在安装布署中,不知怎么调用 OnAfterInstall 这个方法。
#9
#10
额。。。慢了一步,结果已经出来了。。。
#11
http://topic.csdn.net/t/20061030/16/5119722.html
刚刚看到别人以前提的类似问题,好像还没有解决???
在线的朋友,请帮忙解决吧!!!
刚刚看到别人以前提的类似问题,好像还没有解决???
在线的朋友,请帮忙解决吧!!!
#12
VS2005(c#) 怎么做打包程序能使程序在安装结束后,自动执行程序
路过的朋友,请帮忙!
路过的朋友,请帮忙!
#13
#14
看来都回家过年了,哈。
#15
vs2005打包安装的时候在用户界面启动添加添加用户界面复选框,设置value为“是否开机启动”id"isstart"
创建类库
添加引用System.Configuration.Install;
类继承 Installer
重写Install方法
生成类库添加到安装文件切,换视图到自定义操作
右击安装添加文件,选择刚生成的dll文件
设置dll的属性customactiondata为/key="[第一个复选框id]_[第二个复选框]_[第三个复选框]" /targetDir="[TARGETDIR]\"
targetDir取值安装根目录
引用自百度
创建类库
添加引用System.Configuration.Install;
类继承 Installer
重写Install方法
[RunInstaller(true)]
public class Class1 : Installer
{
private string s = "";
private string isRun = "";
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
s = Context.Parameters["targetDir"].Trim();
isRun = Context.Parameters["key"].Trim();
//安装完成执行
base.Committed += aa(stateSaver);
}
public System.Configuration.Install.InstallEventHandler aa(IDictionary aa)
{
string[] arr = isRun.Split('_');
if (arr.Length == 3)
{
if (arr[0] == "1")
{
//安装完运行
Process.Start(s + "//软件名称.exe");
}
if (arr[1] == "1")
{
//开机启动
RegistryKey hklm=Registry.LocalMachine;
RegistryKey run=hklm.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
try
{
run.SetValue("软件名称.exe", s + "//软件名称.exe");
hklm.Close();
// button1_Click(this.button2,null);
}
catch(Exception my)
{
}
}
if (arr[2] == "1")
{
//打开使用手册
Process.Start(s + "//ytyt.doc");
}
//if (arr[3] == "1")
//{
// //添加到快速启动
//}
}
return null;
}
}
}
生成类库添加到安装文件切,换视图到自定义操作
右击安装添加文件,选择刚生成的dll文件
设置dll的属性customactiondata为/key="[第一个复选框id]_[第二个复选框]_[第三个复选框]" /targetDir="[TARGETDIR]\"
targetDir取值安装根目录
引用自百度
#16
在设置为主输出的快捷方式就行了
#17
恩,过年回家了,哈哈。没做过打包学习下
#18
需要重新做个windows服务程序,检测到这个服务程序,然后就自动启动。
#19
to: tanliang9999
好像还实现不了,
好像还实现不了,
#20
在主程序之前,还要开发一个服务端的程序吗?
#21
安装之后,将快捷方式拖动到“开始”菜单中的“启动”项下,就OK了
#22
客户要求这么做。
#23
#24
正好我新作的WINFROM也要出来了,帮你就是帮自己。。
#25
谢。
#26
这个问题已提出
三天了,怎么还得不到
一个完善的答案呀,
#27
#28
使用VS自带的打包模块可以很方便的对项目进行打包部署,同时我们也可以在安装部署时操作注册表实现开机启动软件。具体实现如下:
创建安装部署这部分就不用说了,添加安装部署项目后,鼠标右键安装项目->视图->注册表, 要使软件在开机就运行,可以在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run中添加键值保存软件目录。在这里我们依次添加以上的项,然后在Run中添加键值,键名可以自己起,value要填软件的物理路径。物理路径是客户在部署确定的,我们如何获取呢?这里我们可以使用[TARGETDIR]获取客户选择的路径,在加上软件的启动文件名称。比如软件启动文件的名称是Client.exe,那么Value的值就为:[TARGETDIR]Client.exe.生成安装项目。找到bin目录下的setup.exe文件运行,安装结束后我们可以在注册表中找到相应的键值。重启电脑系统就会自动运行我们设置的软件。
创建安装部署这部分就不用说了,添加安装部署项目后,鼠标右键安装项目->视图->注册表, 要使软件在开机就运行,可以在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run中添加键值保存软件目录。在这里我们依次添加以上的项,然后在Run中添加键值,键名可以自己起,value要填软件的物理路径。物理路径是客户在部署确定的,我们如何获取呢?这里我们可以使用[TARGETDIR]获取客户选择的路径,在加上软件的启动文件名称。比如软件启动文件的名称是Client.exe,那么Value的值就为:[TARGETDIR]Client.exe.生成安装项目。找到bin目录下的setup.exe文件运行,安装结束后我们可以在注册表中找到相应的键值。重启电脑系统就会自动运行我们设置的软件。
#29
上面的我都操作完毕,以实现。
“重启电脑系统就会自动运行我们设置的软件。”
就这句话我还有点问题, 请问下不重启电脑系统,像QQ安装好不需要重启电脑系统。
“重启电脑系统就会自动运行我们设置的软件。”
就这句话我还有点问题, 请问下不重启电脑系统,像QQ安装好不需要重启电脑系统。
#1
刚刚注册,这是仅有的
40分。哈。。。
#2
添加一个新项目,项目类型为类库,然后在这个项目中添加一个安装程序类.
添加类似下面的代码:
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
namespace CustomSetup
{
[RunInstaller(true)]
public partial class Installer1 : Installer
{
public Installer1()
{
InitializeComponent();
}
public override void Commit(System.Collections.IDictionary savedState)
{
base.Commit(savedState);
//添加自定义操作代码
}
(找来的。)
添加类似下面的代码:
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
namespace CustomSetup
{
[RunInstaller(true)]
public partial class Installer1 : Installer
{
public Installer1()
{
InitializeComponent();
}
public override void Commit(System.Collections.IDictionary savedState)
{
base.Commit(savedState);
//添加自定义操作代码
}
(找来的。)
#3
为了那红色的40分
#4
自动启动需要添加服务吧?我记得是需要添加个服务的 写注册表啥的
#5
打包程序设置里有安装完执行的设置 弄个脚本啥的就OK了
#6
楼上的兄弟们,能说清楚一点吗?
#7
Commit
这个方法在哪里调用;
#8
public class OnAfteredInstall : Installer
{
public OnAfteredInstall()
{
}
protected override void OnAfterInstall(System.Collections.IDictionary savedState)
{
base.OnAfterInstall(savedState);
string path = this.Context.Parameters["targetdir"] + "my.exe";
System.Diagnostics.Process.Start(path);
}
}
OnAfterInstall 这个方法我重写了一下,但在安装布署中,不知怎么调用 OnAfterInstall 这个方法。
{
public OnAfteredInstall()
{
}
protected override void OnAfterInstall(System.Collections.IDictionary savedState)
{
base.OnAfterInstall(savedState);
string path = this.Context.Parameters["targetdir"] + "my.exe";
System.Diagnostics.Process.Start(path);
}
}
OnAfterInstall 这个方法我重写了一下,但在安装布署中,不知怎么调用 OnAfterInstall 这个方法。
#9
#10
额。。。慢了一步,结果已经出来了。。。
#11
http://topic.csdn.net/t/20061030/16/5119722.html
刚刚看到别人以前提的类似问题,好像还没有解决???
在线的朋友,请帮忙解决吧!!!
刚刚看到别人以前提的类似问题,好像还没有解决???
在线的朋友,请帮忙解决吧!!!
#12
VS2005(c#) 怎么做打包程序能使程序在安装结束后,自动执行程序
路过的朋友,请帮忙!
路过的朋友,请帮忙!
#13
#14
看来都回家过年了,哈。
#15
vs2005打包安装的时候在用户界面启动添加添加用户界面复选框,设置value为“是否开机启动”id"isstart"
创建类库
添加引用System.Configuration.Install;
类继承 Installer
重写Install方法
生成类库添加到安装文件切,换视图到自定义操作
右击安装添加文件,选择刚生成的dll文件
设置dll的属性customactiondata为/key="[第一个复选框id]_[第二个复选框]_[第三个复选框]" /targetDir="[TARGETDIR]\"
targetDir取值安装根目录
引用自百度
创建类库
添加引用System.Configuration.Install;
类继承 Installer
重写Install方法
[RunInstaller(true)]
public class Class1 : Installer
{
private string s = "";
private string isRun = "";
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
s = Context.Parameters["targetDir"].Trim();
isRun = Context.Parameters["key"].Trim();
//安装完成执行
base.Committed += aa(stateSaver);
}
public System.Configuration.Install.InstallEventHandler aa(IDictionary aa)
{
string[] arr = isRun.Split('_');
if (arr.Length == 3)
{
if (arr[0] == "1")
{
//安装完运行
Process.Start(s + "//软件名称.exe");
}
if (arr[1] == "1")
{
//开机启动
RegistryKey hklm=Registry.LocalMachine;
RegistryKey run=hklm.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
try
{
run.SetValue("软件名称.exe", s + "//软件名称.exe");
hklm.Close();
// button1_Click(this.button2,null);
}
catch(Exception my)
{
}
}
if (arr[2] == "1")
{
//打开使用手册
Process.Start(s + "//ytyt.doc");
}
//if (arr[3] == "1")
//{
// //添加到快速启动
//}
}
return null;
}
}
}
生成类库添加到安装文件切,换视图到自定义操作
右击安装添加文件,选择刚生成的dll文件
设置dll的属性customactiondata为/key="[第一个复选框id]_[第二个复选框]_[第三个复选框]" /targetDir="[TARGETDIR]\"
targetDir取值安装根目录
引用自百度
#16
在设置为主输出的快捷方式就行了
#17
恩,过年回家了,哈哈。没做过打包学习下
#18
需要重新做个windows服务程序,检测到这个服务程序,然后就自动启动。
#19
to: tanliang9999
好像还实现不了,
好像还实现不了,
#20
在主程序之前,还要开发一个服务端的程序吗?
#21
安装之后,将快捷方式拖动到“开始”菜单中的“启动”项下,就OK了
#22
客户要求这么做。
#23
#24
正好我新作的WINFROM也要出来了,帮你就是帮自己。。
#25
谢。
#26
这个问题已提出
三天了,怎么还得不到
一个完善的答案呀,
#27
#28
使用VS自带的打包模块可以很方便的对项目进行打包部署,同时我们也可以在安装部署时操作注册表实现开机启动软件。具体实现如下:
创建安装部署这部分就不用说了,添加安装部署项目后,鼠标右键安装项目->视图->注册表, 要使软件在开机就运行,可以在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run中添加键值保存软件目录。在这里我们依次添加以上的项,然后在Run中添加键值,键名可以自己起,value要填软件的物理路径。物理路径是客户在部署确定的,我们如何获取呢?这里我们可以使用[TARGETDIR]获取客户选择的路径,在加上软件的启动文件名称。比如软件启动文件的名称是Client.exe,那么Value的值就为:[TARGETDIR]Client.exe.生成安装项目。找到bin目录下的setup.exe文件运行,安装结束后我们可以在注册表中找到相应的键值。重启电脑系统就会自动运行我们设置的软件。
创建安装部署这部分就不用说了,添加安装部署项目后,鼠标右键安装项目->视图->注册表, 要使软件在开机就运行,可以在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run中添加键值保存软件目录。在这里我们依次添加以上的项,然后在Run中添加键值,键名可以自己起,value要填软件的物理路径。物理路径是客户在部署确定的,我们如何获取呢?这里我们可以使用[TARGETDIR]获取客户选择的路径,在加上软件的启动文件名称。比如软件启动文件的名称是Client.exe,那么Value的值就为:[TARGETDIR]Client.exe.生成安装项目。找到bin目录下的setup.exe文件运行,安装结束后我们可以在注册表中找到相应的键值。重启电脑系统就会自动运行我们设置的软件。
#29
上面的我都操作完毕,以实现。
“重启电脑系统就会自动运行我们设置的软件。”
就这句话我还有点问题, 请问下不重启电脑系统,像QQ安装好不需要重启电脑系统。
“重启电脑系统就会自动运行我们设置的软件。”
就这句话我还有点问题, 请问下不重启电脑系统,像QQ安装好不需要重启电脑系统。