[ 2024/06/02 16:58 | by 孤城浪子 ]
VMware 于2024年5月14日推出了桌面虚拟化平台的最新版本 Workstation Pro 17.5.2 和 Fusion Pro 13.5.2,并且宣布这两个产品对个人使用完全免费。大家可以点击下面的链接下载,下载需要登录 Broadcom Support Portal,如果你在上面还没有账号的话可以注册一个。
- Workstation Pro 17.5.2 下载 (适用于 Windows 桌面上的虚拟化)
- Fusion Pro 13.5.2 下载 (适用于 Mac OS 桌面上的虚拟化)
注意:只有这两个最新版本以及以后的版本才支持个人使用 (Personal Use) 免费许可。以 Workstation Pro 为例,在第一次启动时会要求你输入 license key,对于个人用户而言,你只需要选 Personal Use 就可以免费使用了。
需要注意的是,Workstation Pro 和 Fusion Pro 的免费仅适用于非商业用途,VMware 对于个人使用和商业用途的定义如下:
- 个人使用: Workstation 或 Fusion 安装到电脑后,被用于运行非商业目的的虚拟机。个人使用明确排除将产品用于商业目的,包括经营或运营企业、组织、政府组织或教育机构等。
- 商业用途:企业许可允许将产品用于商业目的,包括经营或运营企业、组织、政府组织或教育机构等。
把 Workstation Pro 和 Fusion Pro 用于商业用途的话需要购买企业许可。
[ 2021/10/16 09:34 | by 孤城浪子 ]
使用foobar2000自带编码器转换为Apple lossless格式时出错:
An error occurred while writing to file (The encoder has terminated prematurely with code 2 (0x00000002); please re-check parameters)
解决方法:
创建自定义编码器预设,然后指向相关编码器,例如
D:\foobar2000\encoders\qaac64.exe编码器名 Encoder name:QAAC (可自定)
参数Paramenters填: --alac -o %d -
最下面Settings填: -A -o %d -
[ 2019/06/10 04:01 | by 孤城浪子 ]
Microsoft Visual C++ 2005
Microsoft Visual C++ 2005 Redistributable Package (x86)
https://download.microsoft.com/download/5/2/1/5212066c-5f48-4b16-a059-ed84b505a65d/vcredist_x86.exe
Microsoft Visual C++ 2005 Redistributable Package (x64)
https://download.microsoft.com/download/4/4/e/44e0443c-e560-48db-b817-f5c94036a89f/vcredist_x64.exe
Microsoft Visual C++ 2008
Microsoft Visual C++ 2008 Redistributable Package (x86)
Microsoft Visual C++ 2008 Redistributable Package (x64)
https://download.microsoft.com/download/2/b/e/2bec4780-6f99-4347-ad31-48d4b46ab1d3/vcredist_x64.exe
Microsoft Visual C++ 2010
Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
Microsoft Visual C++ 2010 SP1 Redistributable Package (x64)
https://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe
Microsoft Visual C++2012
Visual C++ Redistributable for Visual Studio 2012 Update 4
https://download.microsoft.com/download/9/C/D/9CD480DC-0301-41B0-AAAB-FE9AC1F60237/VSU4/vcredist_x86.exe
https://download.microsoft.com/download/9/C/D/9CD480DC-0301-41B0-AAAB-FE9AC1F60237/VSU4/vcredist_x64.exe
Microsoft Visual C++2013
Visual C++ Redistributable Packages for Visual Studio 2013
https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x86.exe
https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x64.exe
Microsoft Visual C++ 2015
Microsoft Visual C++ 2015 Redistributable Update 3
https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x86.exe
https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x64.exe
Microsoft Visual C++ 2005 Redistributable Package (x86)
https://download.microsoft.com/download/5/2/1/5212066c-5f48-4b16-a059-ed84b505a65d/vcredist_x86.exe
Microsoft Visual C++ 2005 Redistributable Package (x64)
https://download.microsoft.com/download/4/4/e/44e0443c-e560-48db-b817-f5c94036a89f/vcredist_x64.exe
Microsoft Visual C++ 2008
Microsoft Visual C++ 2008 Redistributable Package (x86)
https://download.microsoft.com/download/2/b/e/2bec4780-6f99-4347-ad31-48d4b46ab1d3/vcredist_x64.exe
Microsoft Visual C++ 2010
Microsoft Visual C++ 2010 SP1 Redistributable Package (x86)
https://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe
Microsoft Visual C++2012
Visual C++ Redistributable for Visual Studio 2012 Update 4
https://download.microsoft.com/download/9/C/D/9CD480DC-0301-41B0-AAAB-FE9AC1F60237/VSU4/vcredist_x86.exe
https://download.microsoft.com/download/9/C/D/9CD480DC-0301-41B0-AAAB-FE9AC1F60237/VSU4/vcredist_x64.exe
Microsoft Visual C++2013
Visual C++ Redistributable Packages for Visual Studio 2013
https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x86.exe
https://download.microsoft.com/download/F/3/5/F3500770-8A08-488E-94B6-17A1E1DD526F/vcredist_x64.exe
Microsoft Visual C++ 2015
Microsoft Visual C++ 2015 Redistributable Update 3
https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x86.exe
https://download.microsoft.com/download/6/D/F/6DF3FF94-F7F9-4F0B-838C-A328D1A7D0EE/vc_redist.x64.exe
[ 2013/05/07 19:14 | by 孤城浪子 ]
软件下载地址:http://www.jetico.com/bcwipeSetup.exe
注册信息:
-----BEGIN LICENSE-----
BCWipe for Windows: 1
BCWipe Total WipeOut for Windows: 1
Owner: Benjamin Angerer(benjaminangerer@hotmail.com)
Valid for 1 years starting from Fri Jan 25 20:55:12 EET 2013
-----BEGIN ARMORED MESSAGE-----
LS0tLS1CRUdJTiBTSUdORUQgTUVTU0FHRS0tLS0tDQpOQU1FOkJlbmphbWluIEFu
Z2VyZXINCkNPTVBBTlk6DQpBRERSRVNTOlR1YmFja2Fja2Vyc3RyYXNzZSA2IGJl
bmphbWluYW5nZXJlckBob3RtYWlsLmNvbQ0KQ0lUWTpTdGV0dGVuDQpaSVA6ODIz
NA0KQ09VTlRSWTpTd2l0emVybGFuZA0KUEhPTkU6DQpFTUFJTDpiZW5qYW1pbmFu
Z2VyZXJAaG90bWFpbC5jb20NClNJVEVfTElDRU5TRV9CQ1dJUEVfV0lORE9XUzox
DQpTSVRFX0xJQ0VOU0VfQkNXSVBFUEQ6MQ0KTlVNQkVSX09GX1lFQVJTOjENCkRh
dGU6IEZyaSBKYW4gMjUgMjA6NTU6MTIgMjAxMyAoNTEwMkQ1MTApDQpDUDogNjUw
MDENCklzc3VlcjogQ049SmV0aWNvIE9ubGluZSBTaG9wDQpTaWduYXR1cmU6DQpC
SUlCQUQ4WHRGLzdDQVU0L1ZiYmZkN3B0eHhLdkVGVUhDTUlId01sYVlZV1N4UG1w
Ymt0MmpoWElJOC80U09sDQpsT0FmQklhL2x5NlI3UzhpNk04SUpEcEY1MjdtQnNY
ZVZOZlgwNWlPZ01OQWFERlJobG9CczRaTnlxVWpMcWRLDQpjbTVIRWoyMFRIcEdD
SjI2TFhVa2o5VSt0L1dEVDVQZFdtRm1DYVVKcUJsazkvaVJydVg2QzNGb3F0a2FH
YUp2DQpFTGtvRWtzTWVGMEJzT1BSR0ZPZTZQeGZXY1RQSGRaUDdBWFRFWTRzQzVz
bW9QSnpJRHl5YjB3QkphMXcwM1NhDQpPa1ArWnBBNitabnFNcXJLQzhFRlZmWGlB
YVJMR3NmZG10aVNoejN4cXZlU0h4UHhZTGtsY1VjWGZqOU5ib1NyDQpTMUIza3JZ
RzhaYVFDRjVod3REZTQvWVgvQlE9DQoNCi0tLS0tRU5EIFNJR05FRCBNRVNTQUdF
LS0tLS0NCg==
-----END ARMORED MESSAGE-----
-----BEGIN PUBLIC KEY-----
MIIC/DCCAmWgAwIBAgIBBzANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJGSTEf
MB0GCSqGSIb3DQEJARYQc2FsZXNAamV0aWNvLmNvbTEVMBMGA1UEChMMSmV0aWNv
LCBJbmMuMB4XDTEyMDMwNjAwMDAwMFoXDTE0MDMwNjAwMDAwMFowHTEbMBkGA1UE
AxMSSmV0aWNvIE9ubGluZSBTaG9wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAy4gEtgCrP/qhWIKKg4NSUmUtWuWFELJe75yQD4HGQryq1rgRBENUs81Z
N1libNOCcYdPff7f0N+LGe6nKikS/jEte5I1HbnD/9Z3CHqpFRYG4UbDU0kbtABr
c2rtfeNrt6JT5+2XjK6n7jMvrhGoB0eBNHDiV5C6UqO5Do5Cfc0uf+lSI1m4KD0V
tpoQ4UU9S0/YGM5iF+LLIG61vm/L/r+18XmDkxNCuYcXMEVrFvYeyODTYSdEonnO
QHjwYyqmKx1zz034CGXG2nLP/E1Lnd7m+wL/3sa7o/ZaRrXc4SUWv3c5JFNuRTqt
GkIK9VhD67CrmzEhcOXiTIvQa0vrKwIDAQABo4GfMIGcMB0GA1UdDgQWBBS8oYex
ZyvXdlXMuSxcgY5uhq1ZwTBtBgNVHSMEZjBkgBRvwHQgurKZQ0VrVS3Ued6jsIVu
baFJpEcwRTELMAkGA1UEBhMCRkkxHzAdBgkqhkiG9w0BCQEWEHNhbGVzQGpldGlj
by5jb20xFTATBgNVBAoTDEpldGljbywgSW5jLoIBBzAMBgNVHRMEBTADAQH/MA0G
CSqGSIb3DQEBBQUAA4GBABusr7jzFb5ArZNNEoGDWMkA2RJV3siSfBW2tBOJH+tF
FC6L1pjxnHQT/z8jmErLBSeRfS4XLOGOPvVyXYJQuY8geNGE/QY89Kz7s8BPx5qg
yWqD8zCXdCZXgfNdIKyezg0WazWVXUBL+5lOJqaXo1Nv/K65UNb8rIl+6zZzOyXt
-----END PUBLIC KEY-----
-----END LICENSE-----
注册信息:
-----BEGIN LICENSE-----
BCWipe for Windows: 1
BCWipe Total WipeOut for Windows: 1
Owner: Benjamin Angerer(benjaminangerer@hotmail.com)
Valid for 1 years starting from Fri Jan 25 20:55:12 EET 2013
-----BEGIN ARMORED MESSAGE-----
LS0tLS1CRUdJTiBTSUdORUQgTUVTU0FHRS0tLS0tDQpOQU1FOkJlbmphbWluIEFu
Z2VyZXINCkNPTVBBTlk6DQpBRERSRVNTOlR1YmFja2Fja2Vyc3RyYXNzZSA2IGJl
bmphbWluYW5nZXJlckBob3RtYWlsLmNvbQ0KQ0lUWTpTdGV0dGVuDQpaSVA6ODIz
NA0KQ09VTlRSWTpTd2l0emVybGFuZA0KUEhPTkU6DQpFTUFJTDpiZW5qYW1pbmFu
Z2VyZXJAaG90bWFpbC5jb20NClNJVEVfTElDRU5TRV9CQ1dJUEVfV0lORE9XUzox
DQpTSVRFX0xJQ0VOU0VfQkNXSVBFUEQ6MQ0KTlVNQkVSX09GX1lFQVJTOjENCkRh
dGU6IEZyaSBKYW4gMjUgMjA6NTU6MTIgMjAxMyAoNTEwMkQ1MTApDQpDUDogNjUw
MDENCklzc3VlcjogQ049SmV0aWNvIE9ubGluZSBTaG9wDQpTaWduYXR1cmU6DQpC
SUlCQUQ4WHRGLzdDQVU0L1ZiYmZkN3B0eHhLdkVGVUhDTUlId01sYVlZV1N4UG1w
Ymt0MmpoWElJOC80U09sDQpsT0FmQklhL2x5NlI3UzhpNk04SUpEcEY1MjdtQnNY
ZVZOZlgwNWlPZ01OQWFERlJobG9CczRaTnlxVWpMcWRLDQpjbTVIRWoyMFRIcEdD
SjI2TFhVa2o5VSt0L1dEVDVQZFdtRm1DYVVKcUJsazkvaVJydVg2QzNGb3F0a2FH
YUp2DQpFTGtvRWtzTWVGMEJzT1BSR0ZPZTZQeGZXY1RQSGRaUDdBWFRFWTRzQzVz
bW9QSnpJRHl5YjB3QkphMXcwM1NhDQpPa1ArWnBBNitabnFNcXJLQzhFRlZmWGlB
YVJMR3NmZG10aVNoejN4cXZlU0h4UHhZTGtsY1VjWGZqOU5ib1NyDQpTMUIza3JZ
RzhaYVFDRjVod3REZTQvWVgvQlE9DQoNCi0tLS0tRU5EIFNJR05FRCBNRVNTQUdF
LS0tLS0NCg==
-----END ARMORED MESSAGE-----
-----BEGIN PUBLIC KEY-----
MIIC/DCCAmWgAwIBAgIBBzANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJGSTEf
MB0GCSqGSIb3DQEJARYQc2FsZXNAamV0aWNvLmNvbTEVMBMGA1UEChMMSmV0aWNv
LCBJbmMuMB4XDTEyMDMwNjAwMDAwMFoXDTE0MDMwNjAwMDAwMFowHTEbMBkGA1UE
AxMSSmV0aWNvIE9ubGluZSBTaG9wMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAy4gEtgCrP/qhWIKKg4NSUmUtWuWFELJe75yQD4HGQryq1rgRBENUs81Z
N1libNOCcYdPff7f0N+LGe6nKikS/jEte5I1HbnD/9Z3CHqpFRYG4UbDU0kbtABr
c2rtfeNrt6JT5+2XjK6n7jMvrhGoB0eBNHDiV5C6UqO5Do5Cfc0uf+lSI1m4KD0V
tpoQ4UU9S0/YGM5iF+LLIG61vm/L/r+18XmDkxNCuYcXMEVrFvYeyODTYSdEonnO
QHjwYyqmKx1zz034CGXG2nLP/E1Lnd7m+wL/3sa7o/ZaRrXc4SUWv3c5JFNuRTqt
GkIK9VhD67CrmzEhcOXiTIvQa0vrKwIDAQABo4GfMIGcMB0GA1UdDgQWBBS8oYex
ZyvXdlXMuSxcgY5uhq1ZwTBtBgNVHSMEZjBkgBRvwHQgurKZQ0VrVS3Ued6jsIVu
baFJpEcwRTELMAkGA1UEBhMCRkkxHzAdBgkqhkiG9w0BCQEWEHNhbGVzQGpldGlj
by5jb20xFTATBgNVBAoTDEpldGljbywgSW5jLoIBBzAMBgNVHRMEBTADAQH/MA0G
CSqGSIb3DQEBBQUAA4GBABusr7jzFb5ArZNNEoGDWMkA2RJV3siSfBW2tBOJH+tF
FC6L1pjxnHQT/z8jmErLBSeRfS4XLOGOPvVyXYJQuY8geNGE/QY89Kz7s8BPx5qg
yWqD8zCXdCZXgfNdIKyezg0WazWVXUBL+5lOJqaXo1Nv/K65UNb8rIl+6zZzOyXt
-----END PUBLIC KEY-----
-----END LICENSE-----
[ 2012/10/31 02:54 | by 孤城浪子 ]
来源 http://blog.csdn.net/sha_cq/article/details/8033767
- <?php
- /*
- 这是一个在服务器端备份和恢复数据库的类,张伟 2012-09-21 qq:3340971
- */
- class DBBack{
- private $back_dir='./';//备份的路径
- private $back_file=array();//当前已存在的备份
- private $host='localhost';
- private $user='root';
- private $pwd='123456';
- private $conn;
- private $dbname='navgoods';
- private $charset='utf8';
- private $sql='';
- private $limit=";\r\n[*_*]";
- public $tips='';//执行得到的提示信息
- private $cg_line=0;//操作成功的记录总条数
- private $cg_tb=0;//操作成功的表的个数
- private $sb_line=0;//操作失败的记录总条数
- private $sb_tb=0;//操作失败的表的个数
- private static $instance;
- public static function getInstance(){
- if(!self::$instance instanceof self){
- self::$instance=new self();
- }
- return self::$instance;
- }
- private function __construct(){
- date_default_timezone_set('Asia/Shanghai');
- $this->conn=@mysql_connect($this->host,$this->user,$this->pwd);
- if(!$this->conn){
- $this->tips='数据库连接失败!'.mysql_error();
- return false;
- }
- mysql_query("SET NAMES '".$this->charset."'");
- mysql_query("SET CHARACTER_SET_CLIENT='".$this->charset."'");
- mysql_query("SET CHARACTER_SET_RESULTS='".$this->charset."'");
- if(!mysql_select_db($this->dbname,$this->conn)){
- $this->tips='不存在数据库:'.$this->dbname.',请核对后再试!'.mysql_error();
- return false;
- }
- }
- //以库为单位备份
- public function dbBack(){
- mysql_query("set names '{$this->charset}'");
- $this->sql='';
- $this->sql= "CREATE DATABASE IF NOT EXISTS `$this->dbname` DEFAULT CHARACTER SET {$this->charset}{$this->limit}";
- $this->sql.= "USE `$this->dbname`{$this->limit}";
- $tb_result=mysql_query("show tables");
- while($t=mysql_fetch_array($tb_result)){
- $tb_name[]=$t[0];
- }
- $this->sql.=$this->tbBack($tb_name);
- return $this->saveFile();
- }
- //以表为单位备份,传入一个数组
- public function tbBack($arr_tb_name){
- $mysql=array();
- $i=0;
- $this->cg_line=0;
- foreach($arr_tb_name as $tb_name){
- $mysql[$i]= "set charset {$this->charset}{$this->limit}";
- $mysql[$i].= "DROP TABLE IF EXISTS `$tb_name`{$this->limit}";
- $tb_create=mysql_query("show create table `$tb_name`");
- $row=mysql_fetch_assoc($tb_create);
- $mysql[$i].=$row['Create Table'].$this->limit;
- $mysql[$i].= "LOCK TABLES `$tb_name` WRITE{$this->limit}";
- $result=mysql_query("select * from `$tb_name`");
- while($data=mysql_fetch_assoc($result)){
- foreach ($data as $k=>$v){
- if($v==''){
- unset($data[$k]);
- }
- }
- $keys=array_keys($data);
- $keys=array_map(addslashes,$keys);
- $keys=join('`,`',$keys);
- $keys="`".$keys."`";
- $vals=array_values($data);
- $vals=array_map(addslashes,$vals);
- $vals=join("','",$vals);
- $vals="'".$vals."'";
- $mysql[$i].="insert into `$tb_name`($keys) values($vals){$this->limit}";
- $this->cg_line++;
- }
- $mysql[$i].= "UNLOCK TABLES{$this->limit}";
- $i++;
- }
- $this->cg_tb=$i;
- $mysql=implode('',$mysql);
- return $mysql;
- }
- //恢复数据库
- function restore($fname){
- if (file_exists($fname)) {
- $cg=0;
- $sb=0;
- $this->cg_line=0;
- $this->sb_line=0;
- $this->cg_tb=0;
- $this->sb_tb=0;
- $handle = @fopen($fname, "r");
- $buffer='';
- $this->tips='';
- if ($handle){
- while (!feof($handle)){
- $buffer .= fgets($handle, 4096);
- }
- fclose($handle);
- }else{
- $this->tips.="备份文件读取失败!";
- }
- $a=explode($this->limit, $buffer);
- unset($buffer);
- $total=count($a)-1;
- for ($i=0;$i<$total;$i++){
- if(mysql_query($a[$i])){
- if(strpos($a[$i],'insert into')!==false||strpos($a[$i],'INSERT INTO')!==false)$this->cg_line++;
- if(strpos($a[$i],'create table')!==false||strpos($a[$i],'CREATE TABLE')!==false)$this->cg_tb++;
- $cg+=1;
- }else{
- if(strpos($a[$i],'insert into')!==false||strpos($a[$i],'INSERT INTO')!==false)$this->sb_line++;
- if(strpos($a[$i],'create table')!==false||strpos($a[$i],'CREATE TABLE')!==false)$this->sb_tb++;
- $sb+=1;
- $sb_command[$sb]=$a[$i].'---'.mysql_error();
- }
- }
- $this->tips.=" 操作完毕,<br/>共处理 $total 条命令,<br/>成功 $cg 条,<br/>失 败 $sb 条.<br/>成功恢复{$this->cg_tb}张表,{$this->cg_line}条记录。<br />恢复失败{$this->sb_tb}张表,{$this->sb_line}条记录.";
- if ($sb>0){
- $this->tips.="<hr><br><br>失败命令如下:<br>";
- for ($ii=1;$ii<=$sb;$ii++){
- $this->tips.="<p><b>第 ".$ii." 条命令(内容如下):</b><br>".$sb_command[$ii]."</p><br>";
- }
- }
- }else{
- $this->tips.="MySQL备份文件不存在,请检查文件路径是否正确!";
- }
- }
- private function saveFile(){
- $this->tips='';
- $this->back_dir=rtrim($this->back_dir,'/').'/';
- $filename=$this->back_dir.$this->dbname.date('YmdHis').".sql";
- $fsize=file_put_contents($filename,$this->sql,FILE_USE_INCLUDE_PATH);
- $this->sql='';
- if($result===false){
- $this->tips='文件备份失败!';
- return false;
- }else{
- $this->tips='文件保存成功^_^<br/>文件名:'.$filename.'<br/>大小:'.round($fsize/1024/1024,2).'兆.<br/>';
- $this->tips.="共备份了{$this->cg_tb}张表,{$this->cg_line}条记录。";
- return true;
- }
- }
- //检测已存在的备份
- public function check(){
- $this->back_dir=rtrim($this->back_dir,'/').'/';
- if(!is_dir($this->back_dir)){
- if(!mkdir($this->back_dir)){
- $this->tips='存放备份文件的文件夹不存在,并且创建失败,请确保您在服务器有创建该目录的权限!';
- return false;
- }
- }
- $arrFile=scandir($this->back_dir);
- foreach($arrFile as $key=>$value){
- if(is_dir($this->back_dir.$value)){unset($arrFile[$key]);continue;}
- if(substr($value,-4,4)!='.sql')unset($arrFile[$key]);
- }
- if(emptyempty($arrFile)){
- $this->back_file=array();
- $this->tips='数据库目前还没有备份!';
- return false;
- }else{
- $i=0;
- foreach($arrFile as $k=>$v){
- $url=$this->back_dir.$v;
- $this->back_file[$i]['name']=iconv('GBK','UTF-8',$v);//转码文件名
- $this->back_file[$i]['url']=$url;
- $this->back_file[$i]['time']=filectime($url);
- $this->back_file[$i]['size']=round(filesize($url)/1024/1024,2).'Mb';
- $i++;
- }
- return $this->back_file;
- }
- }
- }
- ?>