我有一个文件- node-v4.2.1-x86.msi双击后,什么也没发生。我通过运行命令控制台解决了这个问题,但问题仍然存在-为什么我不能以正常的方式运行它?
*解决方案:Msiexec/i node-v4.2.1-x86.msi
你不能真正"运行"任何东西,除了一个可执行文件(.exe
,更早的时候也是.com
):当你"运行"任意文件时," shell"1会启动并
- 获取文件名的扩展名,查找其关联表以获得一些负责处理该扩展名的文件;
- 查询另一个这样的"某些东西"表,以确定它应该如何准备命令行调用。
- 格式化命令行,然后使用它运行一个进程。
让我们以附近的Windows XP为例,并使用cmd.exe
和一堆标准命令assoc
和ftype
查询这两个表:
C:Documents and Settingskostix>assoc .msi
.msi=Msi.Package
C:Documents and Settingskostix>ftype Msi.Package
Msi.Package="%SystemRoot%System32msiexec.exe" /i "%1" %*
你应该在你的操作系统上有类似的报告。
在最近的Windows改进的控制面板,你可以打开控制面板和搜索术语"文件关联"(但在你的UI的语言)得到管理这些文件关联的对话框。
如果其中任何一个缺失或软管,我会说你的设置有问题。
1在Windows中,这是资源管理器—这个程序向你展示任务栏、桌面、图标、文件浏览器窗口等,也就是说,基本上提供了集成UI。