鱼跃千里

 

VS2008经过UltraISO编辑后出现 deffactory.dat等文件不能读取的问题之解决

      本文中的方法对自己修改vs2008序列号,结果保存后提示"deffactory.dat等文件不能读取"一样适用.
昨天发现微软大发慈悲,有一个对学生的开发工具的优惠,只要证明自己是学生,就可以用到正版的Windows 2003,sql server 2005,vs等工具,爽啊,马上行动,注册,申请.
         关于想得到自己正版软件的学生,可以看看我刚发布的微软对学生免费发放编程开发相关软件! 
         
         下载试用了一下,发现vs05,sql05都不需要自己输序列号,vs08却要手动输入,发扬我们懒人的风格,为了以后安装省事,我决定把申请到的序列号内置到setup.sdb中,如何内置大家也应该知道了,简单说一下,在目录\Setup\setup.sdb文件中,找到[Product Key],把序列号复制到下一行就可以了(其实大家心照不宣,我们用的免费vs08就是这样换了一个序列号).

         OK,制作成功了,把做好的iso在虚拟机中试一下,结果发现不能自动运行了,autorun.inf中是空的,而且自己手动点setup安装,复制文件时提示"deffactory.dat不能读取",还有好几个.dat文件,记不得了.怎么回事呢?
        baidu,Google了半天,发现原因了,原来vs08中很多文件编码都使用了unicode编码,而用UltraISO编辑后,保存就可能将编码改变(这个是我自己推测),结果就导致这几个文件中内容丢失了.

       解决方法,把iso镜像中的文件都提取到一个文件夹中,比如vs08pro;然后对这个文件夹搜索"*.ini,*.inf,*.dat",选这几种类型主要是它们都是文本格式保存的.搜索完成后用记事本打开搜索到的文件,选"另存为",注意最下面会有一个选择文件编码的下拉菜单,都选择ANSI,就保存到原地,提示覆盖,选择是就可以了.
                                search           
选择编码
                       


      这样就搞定了,嘿嘿,俺用正版去喽.

      刚刚自己安装实验,发现一个问题,竟然用老办法内置序列号的办法(就是广为人知的试用版换序列号就变正无时间限制的正式版的方法)添加的序列号没有用,到下一步还是要手动输序列号. 
      也就说明那种内置序列号不仅仅是那一行的问题,继续研究中.
     

posted on 2008-02-20 22:50  鱼跃千里  阅读(3581)  评论(6编辑  收藏  举报

导航