时光博客

其他分享

C#程序利用ILMerge打包EXE

做 xy2TK 软件打包的时候,有一个需求,就是最终生产1个exe程序,方便使用者携带、拷贝。因为使用了JSON扩展,必须引入Newtonsoft.Json.dll,主程序+扩展至少2个文件。Google了一下,有两种方法:

1、将DLL设置为资源在主程序初始化的时候,将资源动态载入

2、用微软的ILMerge程序打包

我们来看看微软的官方介绍:

ILMerge is a utility for merging multiple .NET assemblies into a single .NET assembly. It works on executables and DLLs alike and comes with several options for controlling the processing and format of the output. See the accompanying documentation for details

大小之后726KB,下载ILMerge之后,安装,我是64位WIN7,默认安装位 C:\Program Files (x86)\Microsoft\ILMerge

继续阅读

Sablog导出评论到多说

最近整理博客发现打开速度非常慢,检查一番发现是 BackLinks 的广告代码引起的,所以干脆停掉了 BackLink 的投放。

然后顺手给博客去掉了自带的评论,增加了来自多说的社会化评论框,同时同步了一下把本地的评论导入到多说,顿时觉得高端大气上档次了一些。

本博客是Sablog架构的,作者4ngle。已经很久没更新了。有使用sablog的又想同步使用多说的朋友,可以下载下面代码文件,上传到网站根目录,访问以下地址: 

http://yourdomain.com/sablog2ds.php?t=comments

该地址会再浏览器中输出一段json格式数据

复制,在编辑器中存储为UTF-8格式无BOM编码的.json后缀的文件,然后再自己的多说管理平台选择

工具 -> 导入数据 选择评论来源:自定义 然后选择刚刚的json文件,就会发现导入成功啦~

附件

sablog2ds.rar (1.68 KB, 下载次数:1090, 上传时间:2013-09-08 01:09)

IIS6/7.5下PHP无法加载 php_openssl.dll 等动态链接库

 最近碰到给客户部署OA系统,服务器为 Windows Server 2008。部署的时候发现openssl扩展未加载。仔细查看了下php.ini里面的配置发现扩展(php_openssl.dll)是打开的,扩展文件夹里面也有对应的扩展文件。但是phpinfo里面就是提示没有openssl。只能上网搜索,原来还需要将 libeay32.dll 复制到 %WINDOWS% 中。操作完之后,重启下IIS服务,果然OK了。

现在总结一下具体在 windows 下 PHP 无法加载扩展库的一般解决方法。步骤如下:

1、检查PHP 扩展文件夹(如:/php/ext/)中是否扩展库的相关动态链接库。

2、在PHP手册中查找无法加载的扩展的相关说明。 比如无法加载的库是 php_openssl.dll,而在PHP手册中找到的相关说明是:php_openssl.dll;OpenSSL 函数库;需要:libeay32.dll。由此可见,加载 php_openssl.dll 库还需要 libeay32.dll 库。

3、将 libeay32.dll 库复制到 %WINDOWS% 目录下。重启 IIS,在 phpinfo.php 里即可看到对应的扩展了。

替换win7/Vista下的宋体为XP宋体

继续纠结,我始终是认为XP下宋体比Win7下好看多了,于是继续纠结,又有一个解决方案,还是网上找的,发现上一篇为win7换上XP原生宋体并不是在每个Win7上很好用。下面看看这个方案:

第一步:

取得字体权限:以管理员身份运行cmd,
进入字体目录:cd c:\windows\fonts
修改文件所有者为当前用户:takeown /f simsun.ttc
修改文件权限:cacls simsun.ttc /G 当前登录的用户名:F

第二步:把win7的宋体改名或删除 rename simsun.ttc simsun_win7.ttc

第三步:打开从xp拷贝过来的simsun.ttc,安装。

第四步:重启

重启之后发现字体还是没变,没关系,这个时候进入 C:\WINDOWS\FONTS 进去之后把SimSun Regular、 SimSun-ExtB Regular、SimSun-PUA Regular三个删除,可能会提示占用,无所谓继续。遇到占用了,就直接cancel掉。然后找到XP下的宋体文件,右键安装。或者直接Copy 到 C:\WINDOWS\FONTS里面去。

为win7换上XP原生宋体

这两天终于从XP换到win7系统,开始没有注意,后来开PS的时候,发现更换以前在XP下做过的PS图时,宋体被重新载入,变得奇丑无比。后来了解到XP下的宋体为3.12,而WIN7下面的是5.03

确实没有XP下的宋体好看,无奈,上网找了些方案,有些是不对的,还好,以前的笔记本硬盘里还有XP系统,于是拷贝了份XP下的宋体( simsun.ttf )出来。开始复制到 win7下的 C:\windows\Fonts 下,提示有要覆盖

1.png - 大小: 26.71 KB - 尺寸: 460 x 237 - 点击打开新窗口浏览全图

反正我在 C:\windows\Fonts下找半天没有发现 simsun.ttf 字体,倒是看见了 simsun EXB.ttf ,也不知道覆盖的是哪一个。覆盖了之后,字体还是没变,于是就只能采用下面的解决方案了。

1、提前下载好xp下宋体文件 (下载已失效)保存下面这个批处理文件win7_simsun_ replace.bat

2、重启系统。这是系统可能有些地方显示有问题了(因为宋体没有了)。不要害怕,使用管理员权限运行cmd.exe,输入以下命令:

cd c:\windows\fonts 
del SIMSUN.TTC.bak 
del SIMSUNB.TTC.bak 

3、在XP的SIMSUN.TTC上面点右键选择安装。重启即可。

OK,看下替换后的效果吧:

2.png - 大小: 13.21 KB - 尺寸:  x  - 点击打开新窗口浏览全图

sc create命令行添加/创建/修改服务

添加服务:
sc create BITS binpath= "C:\WINDOWS\system32\svchost.exe -k netsvcs" type= share start= auto displayname= "Background Intelligent Transfer Service" depend= RpcSs/EventSystem

修改描述:
sc description BITS "利用空闲的网络带宽在后台传输文件。如果服务被停用,例如 Windows Update 和 MSN Explorer 的功能将无法自动下载程序和其他信息。如果此服务被禁用,任何依赖它的服务如果没有容错技术以直接通过 IE 传输文件,一旦 BITS 被禁用,就可能无法传输文件。"

添加服务:
sc create PolicyAgent binpath= "C:\WINDOWS\system32\lsass.exe" type= share start= auto displayname= "IPSEC Services" depend= RPCSS/Tcpip/IPSec

修改描述:
sc description PolicyAgent "提供 TCP/IP 网络上客户端和服务器之间端对端的安全。如果此服务被停用,网络上客户端和服务器之间的 TCP/IP 安全将不稳定。如果此服务被禁用,任何依赖它的服务将无法启动。"

SC命令的更多用法请在查看help sc

Creates a service entry in the registry and Service Database.  
  
SYNTAX:  
sc create [service name] [binPath= ] <option1> <option2>...  
  
CREATE OPTIONS:  
NOTE: The option name includes the equal sign.  
type= <own|share|interact|kernel|filesys|rec>  
       (default = own)  
start= <boot|system|auto|demand|disabled>  
       (default = demand)  
error= <normal|severe|critical|ignore>  
       (default = normal)  
binPath= <BinaryPathName>  
group= <LoadOrderGroup>  
tag= <yes|no>  
depend= <Dependencies(separated by / (forward slash))>  
obj= <AccountName|ObjectName>  
       (default = LocalSystem)  
DisplayName= <display name>  
password= <password>   

此文关键部分在下面:

提示大家:sc cretate命令后面带的参数比如[binPath= ]的等号后面必须有个空格,没空格你怎么折腾都不行的,哈哈。微软还真搞笑啊,搞这么个功能迷惑人。同样,后面的其它参数比如group= , displayname=的等号后面都需要空格,不然sc create命令不会成功创建服务,只会返回给你帮助信息。

sc create nlsvc binpath= "F:\Program Files\NetLimiter 2 Lite\NLClient.exe" type= own start= demand DisplayName= NetLimiter  

« 较旧的文章

©2008-2017 - 时光博客 Ucloud

京ICP备15052479号返回顶部