我的目的:双击安装包,安装完毕,桌面上的.cws文件变成我指定的图标,并且双击能用我的程序打开该文件。
求各位帮忙!分少,见谅。谢谢啦!

解决方案 »

  1.   

    修改注册表关联程序
    http://topic.csdn.net/t/20041001/11/3422823.html
      

  2.   

    提供一下思路:
    你先把一个DLL格式的文件改成文本,然后你取找注册表里面对应的是怎么添加相应的依赖的,你就对注册表进行操作就行了。
    对于你那个格式 原理是一样的
    我写一个试试吧。
      

  3.   


    //写入程序相关
            private void WriteApp()
            {
                //设置程序打开路径
                string path = "\"C:\\Users\\Administrator\\Desktop\\Test\\TestWinForm\\bin\\Debug\\TestWinForm.exe\"";
                RegistryKey root = Registry.ClassesRoot;
                RegistryKey f1 = root.CreateSubKey("Form1");
                //设置注册表程序打开的项与值,其中SetValue("", path)代表设置默认值
                f1.CreateSubKey("shell").CreateSubKey("Open").CreateSubKey("Command").SetValue("", path);            //设置程序图标
                string ico = "\"C:\\Users\\Administrator\\Desktop\\u7_original.ico\"";
                f1.CreateSubKey("DefaultIcon").SetValue("", ico);
            }        //写关联文件
            private void WriteRelate()
            {
                RegistryKey root = Registry.ClassesRoot;
                //设置打开程序
                root.CreateSubKey(".cws").CreateSubKey("OpenWithProgids").SetValue("Form1","");
            }这个已经可以做到你要的了,你执行完毕以后,结束并重启进程explorer.exe 或者重启电脑即可
    一会我吃过饭 可以补一个如果存在改注册表格式或者程序名称,就删除或者补充打开方式
      

  4.   

    没用VS打包  因为这个程序的运行环境比较多  VS上没有  打不进去
    我是用Inno Setup 打包的
      

  5.   

    这个我没用过,不过我有个想法,,,就是写个注册表脚本什么的,然后安装过程中执行一下。 格式.reg貌似是这样
      

  6.   

    嘿嘿,这个我试过了。我用的这个工具不能执行.reg文件。。
    我在想想别的办法
    谢谢你
    明天结贴的时候给分