首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • vs2005自定义安装部署 [已结贴,结贴人:virusplayer]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • virusplayer
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-07-09 08:52:18 楼主
    在用户界面的启动中添加了文本框,我想接受输入,然后判断,比如说吧,输入了数据库用户和密码,验证是否正确,正确就继续,不正确就不显示下一个界面,可以控制吗

    用户界面里面的对话框可以控制吗,如何写代码呢,我就知道继承installer类,然后呢
    C# code
    [RunInstaller(true)] public partial class Installer1 : Installer { private string dbname; private string dbserver; private string username; private string password; public Installer1() { InitializeComponent(); } public override void Install(IDictionary stateSaver) { dbname = "DevTest"; dbserver = this.Context.Parameters["dbserver"].ToString(); username = this.Context.Parameters["username"].ToString(); password = this.Context.Parameters["password"].ToString(); base.Install(stateSaver); } protected override void OnAfterInstall(IDictionary savedState) { base.OnAfterInstall(savedState); Form1 frm = new Form1(); frm.ShowDialog(); } protected override void OnBeforeInstall(IDictionary savedState) { base.OnBeforeInstall(savedState); } protected override void OnCommitting(IDictionary savedState) { Form1 form1 = new Form1(); if (form1.ShowDialog() == DialogResult.OK) { using (SqlConnection conn = new SqlConnection(form1.ConnString)) { conn.Open(); if (conn.State==ConnectionState.Open) { Form2 frm = new Form2(); frm.ShowDialog(); } } } base.OnCommitting(savedState); } public override void Uninstall(IDictionary savedState) { if (savedState == null) throw new ApplicationException("uninstall error"); else base.Uninstall(savedState); } }


    Form1 form1 = new Form1();这个是我的自定义窗体,我写在那里方法下面才可以自定义呢,是安装有一个向导,配置好才可以继续,就像添加数据源还要先验证数据库登录那样,才可以选择表啊什么的,不知道我说的大家都明白吗,给点提示吧
    msdn,google,我都找遍了,两天了,没有头绪啊,
    大部分的帖子都是说添加,但是没有控制啊,取值可以用

    dbname = "DevTest";
                dbserver = this.Context.Parameters["dbserver"].ToString();
                username = this.Context.Parameters["username"].ToString();
                password = this.Context.Parameters["password"].ToString();

    我知道,但是我怎么才可以控制用户界面加入的窗体呢,就算不控制他的,我自己写一些,又怎么来和他的安装过程集成呢,就像先出现我的验证,然后继续他的安装进度,谢谢了!
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • niub_74110
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 08:55:511楼 得分:6
    该回复于2008-07-09 21:39:50被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • virusplayer
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 08:57:502楼 得分:0
    好像应该是这里,
    自定义操作编辑器,调用用户自定义的操作代码。


    但是我试了一下,这里面启动的我的窗体是在安装进度开始之后出现的,我怎么控制在安装之前啊,先验证输入的内容,然后开始安装

    我现在的需求是,安装的软件要受到控制,先产生一个安装码,然后安装码输入到一个运算工具,将运算结果(授权码)输入到安装界面的授权码处,才可以继续安装,就像安装要注册一样,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • virusplayer
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 09:04:223楼 得分:0
    我公司不可以上QQ,MSN还可以上,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • virusplayer
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 09:06:214楼 得分:0
    我突然想明白了一点,是不是这样一个过程呢,在他提供的用户界面接受输入,然后再自定义操作中验证是否合法,验证合法继续安装,不合法就回滚
    好像就是这样吧,有没有人做过类似的东西,给点意见了
    类似于安装注册的东西
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zuilong1208
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 09:21:105楼 得分:7
    目前来说,在安装进度显示前,可以添加一个界面,但无法写判断程序.
    拷贝文件结束以后,到是可以
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • pinhailinfeng
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 09:23:416楼 得分:8
    没做过这样的东西,帮lz顶下....
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Guyschaos
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 09:37:567楼 得分:50
    C# code
    namespace ClassLibrary1 { [RunInstaller(true)] public class Installer : System.Configuration.Install.Installer { public override void Install(IDictionary stateSaver) { base.Install(stateSaver); Form1 hc = new Form1(); MessageBox.Show(this.Context.Parameters["targetdir"].ToString()); hc.ShowDialog(); File.Delete(this.Context.Parameters["targetdir"] + "\\database.sql"); } } }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Guyschaos
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 09:40:018楼 得分:10
    自己写个窗体好了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yagebu1983
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 09:55:149楼 得分:9
    没搞过!!!
    UP!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wcscpy174740342
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 10:26:2510楼 得分:10
    up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • virusplayer
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 10:42:0711楼 得分:0
    引用 7 楼 Guyschaos 的回复:
    C# codenamespaceClassLibrary1
    {
        [RunInstaller(true)]publicclassInstaller : System.Configuration.Install.Installer
        {publicoverridevoidInstall(IDictionary stateSaver)
            {base.Install(stateSaver);
                Form1 hc=newForm1();
                MessageBox.Show(this.Context.Parameters["targetdir"].ToString());
                hc.ShowDialog();
     
                File.Delete(this.Context.Parameters…
    我正在自己写了,自己写的要在安装开始之后才可以显示出来,我是想在安装进度开始之前就配置和判断,然后开始安装,
    一开始用自带的用户窗体,可是不能控制,不能判断,先这样吧,如果有好的办法,请大家提出来啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • virusplayer
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 11:13:3612楼 得分:0
    好了,先结贴吧,我正在弄了,有了结果会在我的博客上写上的,欢迎大家来这里讨论,谢谢大家的参与

    http://www.cnblogs.com/virusswb/
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • virusplayer
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 12:44:3713楼 得分:0
    顶一下
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • virusplayer
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 13:05:0714楼 得分:0
    顶了,我写了一篇关于这个内容的博客,欢迎大家来看,谢谢

    http://www.cnblogs.com/virusswb/archive/2008/07/09/1238819.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Guyschaos
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-09 22:37:4815楼 得分:0
    引用 11 楼 virusplayer 的回复:
    引用 7 楼 Guyschaos 的回复:
    C# codenamespaceClassLibrary1
    {
        [RunInstaller(true)]publicclassInstaller : System.Configuration.Install.Installer
        {publicoverridevoidInstall(IDictionary stateSaver)
            {base.Install(stateSaver);
                Form1 hc=newForm1();
                MessageBox.Show(this.Context.Parameters["targetdir"].ToString());
                hc.ShowDialog();
     


    恩!自己写的话确实是只能在安装进度开始后才执行了!呵呵,看了你的博客了!
    其实授权的话不一定要安装的时候,你也可以在安装以后第一次启动应用程序的时候进行注册!
    数据库连接的话也是一样的,可能要单独写两个模块了!呵呵,
    我公司做的就是这样的!具体怎么做我就不晓得了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • virusplayer
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-07-10 17:49:1916楼 得分:0
    this.Context.Parameters["targetdir"]
    你好
    这个属性什么啊,我是winform程序,想要在安装的过程修改appconfig文件的数据库连接配置,可是发现这个参数获取没有内容啊,就是那个用户界面的按装文件夹界面获取不到那个目录啊,就是我们安装程序选择的那个目录,本来应该是这个参数的,可是获取不到啊,如何获取呢

    这个软件就是授权才可以安装,这个好说,现在就是修改appconfig出了问题了,想在安装的过程修改appconfig,可是this.Context.Parameters["targetdir"]没有内容啊,
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved