Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2010 WiX工具集:文件扩展名注册要求在不同用户上安装功能_Visual Studio 2010_Wix_Windows Installer - Fatal编程技术网

Visual studio 2010 WiX工具集:文件扩展名注册要求在不同用户上安装功能

Visual studio 2010 WiX工具集:文件扩展名注册要求在不同用户上安装功能,visual-studio-2010,wix,windows-installer,Visual Studio 2010,Wix,Windows Installer,我在安装WiX时遇到了问题,因为我正在注册一个文件扩展名,但因为您必须将每个组件绑定到一个功能,所以我无法将该功能安装到“所有用户”上 具体来说,我是在管理员帐户下安装MSI的。MSI不位于所有用户都可以访问的共享位置。扩展名似乎是为其他用户注册的,但是当其他用户单击该文件(使用新注册的扩展名)打开它时,它会首先尝试查找原始MSI以安装功能。如果找到MSI,它将像正常一样打开已安装的应用程序,否则会出错。对于安装MSI的管理员帐户,它不会要求从MSI安装该功能(即使我在单击具有该扩展名的文件之前

我在安装WiX时遇到了问题,因为我正在注册一个文件扩展名,但因为您必须将每个组件绑定到一个功能,所以我无法将该功能安装到“所有用户”上

具体来说,我是在管理员帐户下安装MSI的。MSI不位于所有用户都可以访问的共享位置。扩展名似乎是为其他用户注册的,但是当其他用户单击该文件(使用新注册的扩展名)打开它时,它会首先尝试查找原始MSI以安装功能。如果找到MSI,它将像正常一样打开已安装的应用程序,否则会出错。对于安装MSI的管理员帐户,它不会要求从MSI安装该功能(即使我在单击具有该扩展名的文件之前删除了MSI)

我已将所有功能的installlevel设置为“1”,并将TypicalDefault设置为“install”,InstallDefault设置为“local”。该软件包还设置为在机器级别安装

还有什么需要设置的吗?

看看这是否有帮助:


基本上,您需要了解修复发生的原因(哪个组件关键路径),然后进行修复。或者,您可以使用EXE(WiX Burn)包装MSI,并将MSI缓存在用户可以访问的位置(如果确实需要修复)。

这似乎是问题所在,谢谢!为什么它不能识别文件的键路径这个真正的问题仍然是一个谜(因为应用程序文件的快捷方式起作用了),但我将扩展名的键路径改为注册表值,这似乎起到了作用。