msi安装包使用msiexec命令进行自动安装卸载命令【转】

1. 安装

msiexec /i ***.msi /qb /l*v ***.log
说明:/i表示安装,***.msi是MSI安装包的全路径。/qb表示安静安装(不需要用户点下一步),/l*v表示输出日志到 ***.log文件。

2. 卸载

msiexec /x {GUID} /q
说明:每个程序安装后,都会有一个GUID号,这个GUID号可以从Assembly.cs中找到。
/x 用于卸载一个程序。/q表示完全安静地安装。

msiexec /x ***.msi /q
说明:也可以通过MSI文件来卸载。其效果和通过GUID号来卸载是一样的。

3. 帮助

msiexec /Option [Optional Parameter]安装选项
安装或配置产品
/a 管理安装 – 在网络上安装产品
/j<u|m> [/t ] [/g ]
公布产品 – m 公布到所有用户,u 公布到当前用户
卸载产品
显示选项
/quiet
安静模式,无用户交互
/passive
无人参与模式 – 只显示进度栏
/q[n|b|r|f]
设置用户界面级别
n – 无用户界面
b – 基本界面
r – 精简界面
f – 完整界面(默认值)
/help
帮助信息
重新启动选项
/norestart
安装完成后不重新启动
/promptrestart
必要时提示用户重新启动
/forcerestart
安装后始终重新启动计算机
日志选项
/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*]
i – 状态消息
w – 非致命警告
e – 所有错误消息
a – 操作的启动
r – 操作特定记录
u – 用户请求
c – 初始用户界面参数
m – 内存不足或致命退出信息
o – 磁盘空间不足消息
p – 终端属性
v – 详细输出
x – 额外调试信息
+ – 扩展到现有日志文件
! – 每一行刷新到日志
* – 记录所有信息,除了 v 和 x 选项
/log
与 /l* 相同
更新选项
/update [;Update2.msp]
应用更新
/uninstall [;Update2.msp] /package 删除产品的更新
修复选项
/f[p|e|c|m|s|o|d|a|u|v] 修复产品
p – 仅当文件丢失时
o – 如果文件丢失或安装了更旧的版本(默认值)
e – 如果文件丢失或安装了相同或更旧的版本
d – 如果文件丢失或安装了不同版本
c – 如果文件丢失或较验和与计算的值不匹配
a – 强制重新安装所有文件
u – 所有必要的用户特定注册表项(默认值)
m – 所有必要的计算机特定注册表项(默认值)
s – 所有现有的快捷键方式(默认值)
v – 从源运行并重新缓存本地安装包
设置公共属性
[PROPERTY=PropertyValue]

安装第三方库出现 Python version 2.7 required, which was not found in the registry【转】

安装第三方库出现 Python version 2.7 required, which was not found in the registry

建立一个文件 register.py 内容如下. 然后执行该脚本.

import sys

from _winreg import *

# tweak as necessary
version = sys.version[:3]
installpath = sys.prefix

regpath = "SOFTWARE\\Python\\Pythoncore\\%s\\" % (version)
installkey = "InstallPath"
pythonkey = "PythonPath"
pythonpath = "%s;%s\\Lib\\;%s\\DLLs\\" % (installpath, installpath, installpath)


def RegisterPy():
    try:
        reg = OpenKey(HKEY_CURRENT_USER, regpath)
    except EnvironmentError as e:
        try:
            reg = CreateKey(HKEY_CURRENT_USER, regpath)
            SetValue(reg, installkey, REG_SZ, installpath)
            SetValue(reg, pythonkey, REG_SZ, pythonpath)
            CloseKey(reg)
        except:
            print "*** Unable to register!"
            return
        print "--- Python", version, "is now registered!"
        return
    if (QueryValue(reg, installkey) == installpath and
        QueryValue(reg, pythonkey) == pythonpath):
        CloseKey(reg)
        print "=== Python", version, "is already registered!"
        return
    CloseKey(reg)
    print "*** Unable to register!"
    print "*** You probably have another Python installation!"

if __name__ == "__main__":
    RegisterPy()

windows把程序添加到右键菜单【转】

1、运行regedit命令打开注册表管理器

2、找到右键项目注册表“HKEY_CLASSES_ROOT”
旗下子菜单作用分别为:
HKEY_CLASSES_ROOT\*\shell        对任意文件单机右键弹出的菜单的菜单项
HKEY_CLASSES_ROOT\folder\shell        对一般文件夹和系统文件(文件夹和驱动器)的右键弹出菜单都起作用
HKEY_CLASSES_ROOT\directory\shell    对一般文件夹(仅文件夹)右键点击菜单中弹出的部分内容
HKEY_CLASSES_ROOT\drive\shell        对任意驱动(仅驱动)单击右键弹出的菜单的菜单项
假设现在要添加一个Notepad2.exe程序到右键,这个程序是笔记本程序,可以用来打开各种文件,步骤如下:

1、打开“HKEY_CLASSES_ROOT\*”

2、在其下新建“shell\OpenByNotepad(自定义右键菜单名称)\command”

3、将command的键值设置为Notepad2.exe的根路径,并在其路径后面加一个空格,并标上“%1”字符即可。如下图:

4、关闭注册表管理器,随便找个文件,单击右键,你可以在右键菜单上面找到OpenByNotepad选项。

如果要关闭该菜单,只需要在注册表命令上单击右键选择删除命令即可删除。

 

ps
HKEY_CLASSES_ROOT\Directory\Background\shell    对一般文件夹(仅文件夹)在空白位置右键菜单中弹出内容

这个时候命令后跟的就不是“%1”了,而是需要改成”%V”(如”D:\Program Files\Cmder\Cmder.exe” “%V”)

这样在右键菜单就可以看到需要的程序了。

1

更改windows文件类型的图标【转】

XP中更改文件类型图标 打开任一文件夹,点击“工具”→“文件夹选项”,打开“文件夹选项”对话框,在“文件夹类型”标签下找到相应的文件类型,如C文件,点“高级”按钮弹出“编辑文件类型”对话框,点击“更改图标”按钮,在浏览框中选择对应的程序文件,如(C:\Program Files\EditPlus 3\EditPlus.exe),就会打开这个程序文件本身所带的图标,选择相应的图标即可。 Win7更改文件类型图标 使用过win7的人,肯定都知道win7没有一个现成的提供你更改文件图标的工具。比如.*.rmvb、*.doc,我们并不想使用其原先的默认图标;或者是某个软件因为下载的是硬盘版,所以没有进行文件关联,从而进行关联的时候,致使这类文件图标并不美观,等等。因为这些原因的存在,使我们对win7的图标功能感觉并不方便。 在一般情况下,我们可以通过安装其它软件从而达到修改文件图标的目的。但是在这里,我将向大家介绍修改注册表的方法更改文件图标。 下面我以*.sai(一种绘图软件的文件)这类文件作为例子,向大家介绍如何在win7里面不用其它软件,通过修改注册表更改文件图标。 首先,这款软件我下载的是硬盘版,所以在最初,这款软件并没有关联上其所对应的程序。我们可以看到这个文件还是以白色的纸张为文件图标(图①)。

1

图①

于是接下来我们通过右击文件→属性→在常规选项卡里选择更改…(图②)

2

图②

接着在弹出的对话框中选中我们要用来打开的文件。因为是硬盘版的程序,所以我们只能通过选择浏览找到我们需要的程序。(图③)

3

图③

然后选择我们的程序,点击确定。这样一来,我们的文件就可以直接用对应的程序运行了。但是文件的图标却并不好看。(图④)

4

图④

接下来,我们就要开始修改图标。 在该程序的图标上点击右键→属性→更改图标…,在弹出的对话框里我们发现有一个类似于文件的图标。正好我们将它用来做*.sai文件类型的图标比较合适。(图⑤) *其实也可以不用这样查找图标,只要你能确定你所想要的图标位于哪个文件内,是第几个就行了(竖排顺序)。第一个是0,按照顺序依次加1。

5、

(图⑤)

接下来,我们进入注册表。点击开始,在搜索程序和文件中输入regedit,然后按下回车。在弹出来的用户账户控制对话框中选择是(如果有的话)。 通过搜索关键字sai,发现有两个位置存储着有关后缀名的信息。 这两个地址分别为: HKEY_CLASSES_ROOT/.sai HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.sai 在第一个地址中,存在一个字符串值:(图⑥)

6

图⑥

在第二个地址中的OpenWithProgids目录下,存在一个二进制值:(图⑦) 7

图⑦

我们发现,其都指向了sai_auto_file这个值。 以它为关键字,最终我们在HKEY_CLASSES_ROOT下找到了这个它,这里也就是我们要用来改图标的关键。(图⑧)

8

图⑧

接下来,我们在HKEY_CLASSES_ROOT\sai_auto_file下新建一个名为DefaultIcon的项。(图⑨)

9

图⑨

在该目录下会自动生成一个字符串。双击改字符串,在数值数据里面输入该程序的路径,之后输入”,1”(不加双引号)。(图⑩)在这里,输入的路径代表着图标文件存放的地址,而之后的1代表着这个图标位于第二个位置。(第一个是0,然后按照竖排的顺序往下排。)

10

图⑩

之后点击确定。对*.sai文件再进行一次关联。此时,图标就改过来了。(图11)

11

图11

但是,这个图标其实也一般。因为图标文件是一个位图。所以放大之后图标有很多马赛克。我发现在PaintToolSAI的目录下有一个适合用来做图标的ico文件(文件名saifile.ico)。于是我们同样还是修改注册表中对应的DefaultIcon项,这次可以不用加上序号。(图12)

12

图12

同样点击确定,重新进行一次文件关联。图标就更加美观了。(图13)

13

图13

于是,我们就完成了在win7系统下图标的更改。 P.S. 1)由于涉及到注册表的操作,在自己没有把握的情况下,尽量不要操作。 2)文件图标的顺序的代码,有可能不是十进制,是十六进制,当发现文件图标不对的时候,先检查有没有数错,之后更改进制。 3)当用过一段时间之后发现图标改变了,可将以上布骤重复一遍.

Windows下pip安装库出错:Microsoft Visual C++ 9.0 is required < Unable to find vcvarsall.bat

在windows下使用pip安装一些软件的时候,会出现Microsoft Visual C++ 9.0 is required < Unable to find vcvarsall.bat的错误。

这是由于python27在运行setup.py安装时, 会默认寻找visual studio 2008来编译其中的C++文件。 而且安装VS2012、13是没用的。

简言之:看到最终的解决办法如下:

必须安装VS2008.。。。。。。。。。。。。

追加(如果你不想安装vs2008):

最终解决办法:

Microsoft Visual C++ Compiler for Python 2.7