已经把debug里的所有文件都打包进去了,程序也能够正常的安装和运行,但现在我有一个注册表文件叫abc.reg,我应该如何让这个注册表文件也加进去打包,然后在我点击安装所打包完的程序的时候就自动地运行这个注册表文件,把这个注册表文件加到注册表里面去呢?

解决方案 »

  1.   

    换个思路.你的程序在每次运行时候,先执行目录中的System.Diagnostics.Process.Start(Application.StartupPath + "\abc.reg")'会弹出提示框
    或者干脆将注册内容直接写死到程序中
      

  2.   

    自定义安装程序中写入。http://www.codeproject.com/KB/install/SetupAndDeployment.aspx
      

  3.   

    Setup工程是可以填写注册表项的
      

  4.   

    installshield安装包是可以写注册表的
      

  5.   

    installshield安装包是可以写注册表的
      

  6.   

    VS2005中右击安装包-->视图-->文件系统-->在打开的窗口中单击“应用程序文件夹”-->右击右侧区域->添加-->文件在程序安装时执行.reg文件,可以在安装程序的时候执行。
    新建一个类库项目,新建一个类继承Installer类,重写Install方法 
     
    [RunInstaller(true)] 
            public   partial   class   MyInstall   :   Installer 
            { 
                    public   MyInstall() 
                    { 
                            InitializeComponent(); 
                    }                 public   override   void   Install(IDictionary   stateSaver) 
                    { 
                            base.Install(stateSaver); 
                            //这里调用Process类,运行你的 .reg文件
                    } 
          } 
     
      

  7.   

    用Setup Factory 7.0打包程序还是很方便的,里面有对注册表的操作,
    Registry.CreateKey(HKEY_LOCAL_MACHINE,"Software\\Build");//创建注册表
    Registry.SetValue(HKEY_LOCAL_MACHINE,"Software\\Build","Key1","11122",REG_SZ);//赋值
      

  8.   

    嗯,这个可以做到,不过我不会用这个打包微软的.net framework4,即是有些没有安装到.net framework的机器在运行这个软件的时候我想让它自动判断有没安装到.net framewordk4然后自动帮机器安装上.net framework,在VS自带的打包里这个功能很容易做到
      

  9.   

    嗯,这个可以做到,不过我不会用这个打包微软的.net framework4,即是有些没有安装到.net framework的机器在运行这个软件的时候我想让它自动判断有没安装到.net framewordk4然后自动帮机器安装上.net framework,在VS自带的打包里这个功能很容易做到