.NET Framework 3.5 sp1离线安装方案

.net Framework 3.5 Service pack 1(Full Package) 231MB是网络上最完整的离线安装包,安装时却还提示要联网下载,如果没联网就麻烦了,这里下载的是语言包。这里教你自己动手制作真正的.net Framework 3.5 Service pack 1完整离线安装包.

第一种解决.NET Framework 3.5 sp1离线安装方案
1、下载.net Framework 3.5 Service pack 1 (Full Package) 231MB 安装包后dotnetfx35.exe,用WinRAR打开并解压。
2、下载.net Framework 3.5 Service pack 1中文简体语言包
一般用户下载dotnetfx35langpack_x86zh-CHS.exe,这个是WIN32系统
3、将语言包dotnetfx35langpack_x86zh-CHS.exe复制到第一步解压缩的\wcu\dotNetFramework\dotNetFX35\x86文件夹里。(如果是x64位的,可将dotnetfx35langpack_x64zh- CHS.exe 复制到\wcu\dotNetFramework\dotNetFX35\x64文件夹里。)
4、点击运行dotNetFx35setup.exe,可彻底的离线安装了。

第二种解决.NET Framework 3.5 sp1离线安装方案
在没有装VS2008的机器上单独安装3.5SP1的时候,无论你下载的什么完整版还是非完整版,安装程序都需要连接Internet,去下一些东东,而且超慢。更要命的是:提示有63M的东西要下,然后已经下了63M了,还是在下。
先说解决方案:
1.到官网上下载3.5SP1的完整安装包。
2.下载完成后,命令行下运行dotnetfx35.exe /x解压到一个目录
3.进入解压目录下进入wcu\dotNetFrameWork
4.从命令行运行dotNetFx35setup.exe /lang:ENU
5.OK一路畅通了。

Posted in Web开发 at May 31, 2011. by 傻猫 .    Views: 6716    No Comments

nginx 1.0.0终于发布了

nginx(发音同engine x)是一款由俄罗斯程序员Igor Sysoev所开发轻量级的网页服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。起初是供俄国大型的门户网站及搜索引擎 Rambler(俄语:Рамблер)使用。此软件BSD-like协议下发行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系统中运行。

Changes with nginx 1.0.0 12 Apr 2011
*) Bugfix: a cache manager might hog CPU after reload. Thanks to Maxim Dounin.
*) Bugfix: an "image_filter crop" directive worked incorrectly coupled with an "image_filter rotate 180" directive.
*) Bugfix: a "satisfy any" directive disabled custom 401 error page.

下载地址:
linux:http://nginx.org/download/nginx-1.0.0.tar.gz
windows:http://nginx.org/download/nginx-1.0.0.zip

恭喜nginx到1.0了

Posted in Web开发 at April 12, 2011. by 傻猫 .    Views: 4215    No Comments

自动备份数据库和删除历史备份

SQL SERVER 2005里自动备份数据库和删除旧有备份的办法 

打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动)。

启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目 打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动)。

启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目里可以先给作业命名,假设为“备份数据”。 

一、备份数据的第一个步骤--“备份当日数据”  在“步骤”栏目里新建一个步骤名为“备份当日数据”,类型为“T-SQL”,数据库选择你要操作的数据库(假设为“TESTDB”),命令窗口里填入备份的SQL语句。假设备份数据放在“D:\BACKUP”里,备份文件命名格式为“SQL-2009-3-26.BAK”,那么语句如下: 
DECLARE @filename VARCHAR(255)
DECLARE @date DATETIME 
SELECT @date=GETDATE() SELECT @filename = 'D:\BACKUP\SQL-'+CAST(DATEPART(yyyy,@date) as varchar)+'-'+CAST(DATEPART(mm,@date) as varchar)+'-'+CAST(DATEPART(dd,@date) as varchar)+'.bak' 
BACKUP DATABASE [TESTDB] TO DISK = @filename WITH INIT GO 

在步骤属性的高级的“成功时要执行的操作”选择“转到下一步”即可,这样“备份当日数据”的步骤已经建立好。

二、备份数据的第二个步骤--“删除旧有备份” 

我们可以设置只保留5天内的备份数据,那么必须删除5天前的数据备份文件。在“备份数据”作业属性窗口的步骤栏目里,建立第二个步骤命名为“删除旧有备份”。同样类型为“T-SQL”,命令窗口里填入一下SQL语句: 
DECLARE @OLDDATE DATETIME
SELECT @OLDDATE=GETDATE()-5
EXECUTE master.dbo.xp_delete_file 0,N'D:\BACKUP',N'bak',@olddate,1 
此命令会删除“D:\BACKUP”里5天前的.BAK或.TRN格式的文件,不用指定文件名是什么。

因为SQL SERVER的备份文件里包含了时间属性在里面。在步骤属性的高级的“成功时要执行的操作”选择“退出报告成功的作业”即可,这样第二个步骤已经建立好。 

三、备份数据作业属性的计划栏目里,设置作业的执行时间
 
新建一个作业计划,命名为“每日自动备份和删除”,再选择执行的周期,例如每天凌晨1点开始执行。  最后保存整个“备份数据”的作业,每日就会自动备份数据库和删除旧有数据了。

Posted in Web开发 at March 29, 2011. by 傻猫 .    Views: 4536    No Comments

javascript禁用按键

<script type="text/javascript">   
//处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外 
function banBackSpace(e){         var ev = e || window.event;//获取event对象       
 var obj = ev.target || ev.srcElement;//获取事件源             
  var t = obj.type || obj.getAttribute('type');//获取事件源类型            
   //获取作为判断条件的事件类型    
    var vReadOnly = obj.getAttribute('readonly');     
 var vEnabled = obj.getAttribute('enabled');    
  //处理null值情况    
   vReadOnly = (vReadOnly == null) ? false : vReadOnly;    
    vEnabled = (vEnabled == null) ? true : vEnabled;        
       //当敲Backspace键时,事件源类型为密码或单行、多行文本的,    
     //并且readonly属性为true或enabled属性为false的,则退格键失效    
      var flag1=(ev.keyCode == 8 && (t=="password" || t=="text" || t=="textarea")                   && (vReadOnly==true || vEnabled!=true))?true:false;   
          //当敲Backspace键时,事件源类型非密码或单行、多行文本的,则退格键失效    
        var flag2=(ev.keyCode == 8 && t != "password" && t != "text" && t != "textarea")                  ?true:false;            
            //判断   
           if(flag2){          return false;      }      if(flag1){             return false;         }     }   
         //禁止后退键 作用于Firefox、Opera
          document.onkeypress=banBackSpace;
        //禁止后退键  作用于IE、Chrome
         document.onkeydown=banBackSpace;
   
//禁止用F5键     
function document.onkeydown()     
{     
    if(event.keyCode==116)     
    {     
        event.keyCode   =   0;     
        event.cancelBubble   =   true;     
        return false;     
    }     
}        </script> 

Posted in Web开发 at January 19, 2011. by 傻猫 .    Views: 4655    No Comments

JavaScript 获取客户端计算机硬件及系统信息

//系统信息获取    
 function getSysInfo(){    
     var locator = new ActiveXObject ("WbemScripting.SWbemLocator");     
     var service = locator.ConnectServer(".");     
     //CPU信息    
     var cpu = new Enumerator (service.ExecQuery("SELECT * FROM Win32_Processor")).item();     
     var cpuType=cpu.Name,hostName=cpu.SystemName;    
     //内存信息    
     var memory = new Enumerator (service.ExecQuery("SELECT * FROM Win32_PhysicalMemory"));    
    for (var mem=[],i=0;!memory.atEnd();memory.moveNext()) mem[i++]={cap:memory.item().Capacity/1024/1024,speed:memory.item().Speed}    
    //系统信息    
    var system=new Enumerator (service.ExecQuery("SELECT * FROM Win32_ComputerSystem")).item();    
    var physicMenCap=Math.ceil(system.TotalPhysicalMemory/1024/1024),curUser=system.UserName,cpuCount=system.NumberOfProcessors    
        
    return {cpuType:cpuType,cpuCount:cpuCount,hostName:hostName,curUser:curUser,memCap:physicMenCap,mem:mem}    
}   

查看更多内容...

Posted in Web开发 at January 19, 2011. by 傻猫 .    Views: 8095    1 Comment

attachEvent 的用法

Binds the specified function to an event, so that the function gets called whenever the event fires on the object.

dhtml语法

<I>bSuccess</I> = <I><SPAN class=moreinfo title="an element from the Applies To list below">object</SPAN></I><B>.attachEvent(</B><I>sEvent</I><B>, </B><I>fpNotify</I><B>)</B>

Parameters

sEvent Required. Stringthat specifies any of the standard DHTML Events.
fpNotify Required. Pointer that specifiesthe function to call when sEvent fires.

Return Value

Boolean. Returns one of the following possible values:

true The function was bound successfully to the event.
false The function was not bound to the event.

查看更多内容...

Posted in Web开发 at January 14, 2011. by 傻猫 .    Views: 5453    No Comments

mscrm4屏幕ctrl+s热键

在MSCRM4的项目中,有一个特别的要求,需要把热键ctrl+s屏蔽掉,在onsave事件里添加以下脚本即可,当按下ctrl+s时,直接取消操作。

function document.onkeydown()  
{
    if (event.ctrlKey == true && event.keyCode == 83)
    {//Ctrl+S
        window.event.cancelBubble = true;//禁止此次操作
   }
}
onsave.jpg

Posted in Web开发 at January 7, 2011. by 傻猫 .    Views: 5325    1 Comment

mscrm4隐藏grid页上的按钮

前几篇文章里,介绍了如何在toolbar上面增加按钮,如何去掉详细页上的toolbar上的按钮,如何去掉菜单,如何添加菜单,那要在搜索页grid页上隐藏按钮怎么做呢? 修改_root目录下的HomePage.aspx文件,在<head>之前添加一个onload脚本,先找到要隐藏按钮的ID值,通过下面的函数即可隐藏grid页上的按钮。

不同实体grid页上的按钮都可以隐藏的,即使相同的功能的按钮,他的ID值不一样。

<script language="JavaScript">
function window.onload()
{
   // HandleBackButtonIssues(_currentTypeCode);
    for (var index in document.getElementsByTagName("LI")) {
            var o = document.getElementsByTagName("LI")[index];
            if (o.id == "_MBopenObj10072") {
                o.style.display = 'none'; //隐藏
            }
        }
  
}
</script>
</head>

Posted in Web开发 at January 7, 2011. by 傻猫 .    Views: 4181    No Comments