自己做了一个安装项目setup,exe的名称是ScreenCatch.exe
希望实现的效果是,运行完安装程序后
注册表中HKEY_LOCAL_MACHINE-->SOFTWARE下新增了注册表项SCREENSHOT
  名称              类型            数据
 SCREENSHOT        REG_SZ         用户安装时选择的路径(例如D:\ScreenShot)
 
    

解决方案 »

  1.   

    假设你使用vs的setup工程工程右键菜单View -> Registry在HKEY_LOCAL_MACHINE下建立new key :SOFTWARE
    再在SOFTWARE下建立 new key : SCREENSHOT
    再在SCREENSHOT下建立 new string: SCREENSHOT
    string SCREENSHOT的value设置成[TARGETDIR]<你程序的名字>.exe
      

  2.   

    选中安装项目时VS的解决方案管理器上面就有注册表编辑器,如果想要更灵活的控制的话可以考虑实现System.Configuration.Install.Installer类
      

  3.   

    安装部署中可自定义install安装类
    可查询注册表获取信息
    Registry.LocaMachine
    OpenSubKey
    设置参数Context.Parameters[ " targetdir " ]
      

  4.   

    RegistryKey regRootKey; //定义Root指向注册表HKEY_LOCAL_MACHINE节点
    regRootKey = Registry.LocalMachine;
    RegistryKey regSubKey = regRootKey.OpenSubKey("SOFTWARE",true);//定义一个注册表参数结构体对象
    RegistryKey regSubKey1=regSubKey.CreateSubKey("");
    RegistryKey regSubKey2=regSubKey1.CreateSubKey("");
    regSubKey2.SetValue("Version","2.0");
    regSubKey2.SetValue("Path",this.Context.Parameters["targetdir"]);