为什么我不能 "run" MSI 文件?
Why I can't "run" a MSI file?
我有一个文件 - node-v4.2.1-x86.msi
双击它后,没有任何反应。
我通过 运行 命令控制台解决了*这个问题,但问题仍然存在 - 为什么我不能以正常方式 运行 它?
*解决方法:
msiexec /i node-v4.2.1-x86.msi
除了 executable(.exe
,之前还有 .com
),你不能真正 "run" 任何东西:当你 "run" 任意文件时,"the shell"1 开始并且
- 获取文件名的扩展名,查找它的 table 关联以获得 something 负责处理具有此扩展名的文件;
- 查询另一个 table 这样的 "somethings" 来弄清楚它应该如何准备命令行来调用。
- 格式化命令行,然后使用它运行进程。
让我们使用附近的 Windows XP,并使用 cmd.exe
和一堆标准命令 assoc
和 ftype
查询这两个 table:
C:\Documents and Settings\kostix>assoc .msi
.msi=Msi.Package
C:\Documents and Settings\kostix>ftype Msi.Package
Msi.Package="%SystemRoot%\System32\msiexec.exe" /i "%1" %*
您的 OS 上应该有类似的报告。
最近 Windows 使用改进的控制面板,您可以打开控制面板并搜索术语 "file associations"(但使用您 UI 的语言)以获取对话框它管理这些文件关联。
如果其中任何一个丢失或被冲洗掉,我会说你的设置有问题。
1 在 Windows 中,这是资源管理器 — 为您提供任务栏、桌面、图标和文件浏览器的程序 windows等,也就是基本提供了集成UI.
我有一个文件 - node-v4.2.1-x86.msi 双击它后,没有任何反应。 我通过 运行 命令控制台解决了*这个问题,但问题仍然存在 - 为什么我不能以正常方式 运行 它?
*解决方法: msiexec /i node-v4.2.1-x86.msi
除了 executable(.exe
,之前还有 .com
),你不能真正 "run" 任何东西:当你 "run" 任意文件时,"the shell"1 开始并且
- 获取文件名的扩展名,查找它的 table 关联以获得 something 负责处理具有此扩展名的文件;
- 查询另一个 table 这样的 "somethings" 来弄清楚它应该如何准备命令行来调用。
- 格式化命令行,然后使用它运行进程。
让我们使用附近的 Windows XP,并使用 cmd.exe
和一堆标准命令 assoc
和 ftype
查询这两个 table:
C:\Documents and Settings\kostix>assoc .msi
.msi=Msi.Package
C:\Documents and Settings\kostix>ftype Msi.Package
Msi.Package="%SystemRoot%\System32\msiexec.exe" /i "%1" %*
您的 OS 上应该有类似的报告。
最近 Windows 使用改进的控制面板,您可以打开控制面板并搜索术语 "file associations"(但使用您 UI 的语言)以获取对话框它管理这些文件关联。
如果其中任何一个丢失或被冲洗掉,我会说你的设置有问题。
1 在 Windows 中,这是资源管理器 — 为您提供任务栏、桌面、图标和文件浏览器的程序 windows等,也就是基本提供了集成UI.