Why is a new instance of MATLAB opened when I double-click on a MATLAB file in Windows Explorer even if I have one instance of MATLAB already open on my Windows 7 machine?

164 次查看(过去 30 天)
I have full administrative privileges on my Windows 7 machine and I run MATLAB as an administrator. I then open a Windows Explorer and double-click on a MATLAB file. I expect the MATLAB file to open in the existing instance of MATLAB, instead another instance of MATLAB is launched, and the MATLAB file opens there in the Editor. If I double-click on another MATLAB file in Windows Explorer, it opens in Editor in the second instance of MATLAB. However, if I close the second instance of MATLAB and then double-click on a MATLAB file in Windows Explorer it will open another MATLAB instance.
I am running MATLAB as an administrator because otherwise I cannot save path from File->Set Path->Save menu. I have User Control Access (UAC) turned on and I cannot turn it off because of security considerations.

采纳的回答

MathWorks Support Team
编辑:MathWorks Support Team 2023-5-10
This behavior may have one of several causes:
A.
This may be a consequence of the security settings on Windows 7. When you run MATLAB as an administrator and then try to open a MATLAB file from Windows Explorer, you are not a privileged user as far as Windows Explorer is concerned. As a result, MATLAB that is open cannot open this MATLAB file since MATLAB is a program that is run by a privileged user (administrator).
To work around this issue, you can enable writing to the pathdef.m file. The pathdef.m file is located in the directory: 
MATLABROOT\toolbox\local
where MATLABROOT is the result of executing the following in the MATLAB command prompt:
matlabroot
To enable writing to pathdef.m:
  1. Open the directory with pathdef.m in the Windows Explorer, right-click on the file and open "Security" tab.
  2. Click the "Edit" button to modify permissions.
  3. Select the user or group that should be allowed to write to pathdef.m, i.e., Users.
  4. Check the "Write" check box and click "Apply"
If you have previously set MATLAB to be run as an administrator, change it to run it as an ordinary user. You will be now able to save path to the pathdef.m file and each time you click on the MATLAB file, if MATLAB is already open, MATLAB file will be opened in the Editor of the open MATLAB instance.
If this does not work, try associating the file with an older version of MATLAB, open the file and then change the association to the new version. This resolved the issue for a customer who was transitioning from R2017b to R2018a
B.
This issue may also arise if you uninstall an earlier release of MATLAB after installing a newer release. The newer release uses a different method to register file associations.
These associations are deleted from the registry when an older release is uninstalled. In this situation, please uninstall the new release and reinstall it.
If the file associations are not correct because you have manually registered the MATLAB file types with Windows Explorer, you can re-associate the MATLAB file types by following these instructions from the MATLAB documentation:
This page explains how to re-register the .MAT extension, but you can follow the same instructions for other file types.
Some users have found that using the following fix has been effective in solving the issue. Keep in mind that this content was not created by MathWorks employees so our support for it is limited:

更多回答(1 个)

Shahram Bekhrad
Shahram Bekhrad 2016-5-30
编辑:MathWorks Support Team 2022-9-24
Hello. I had the same problem on my win 8.1 and MATLAB but followed thorough with the suggested solution by MathWorks Support Team on top of the page and then followed by the other solution on MATLAB File Association Fix by Patrik Forssén on some other post in the site ( How to restore file association in Matlab 2015a for Windows ) and I think that it is alright now. Now when I double click on a MATLAB associated file IF I have an instance of MATLAB open, It opens the file directly in the editor or MATLAB file importer dialog (depends on the file) and if not it opens an instance of MATLAB and the rest follows.
  1 个评论
Naseeb Gill
Naseeb Gill 2019-4-30
I tried solutions A and B provided by MathWorks Support Team but none works for me. Then I downlaoded MATLAB File Association Fix by Patrik Forssén and my problem get solved like magic. Mine was MatLab R2017b, Windows 10.
Procedure for the same is:
  1. Downlaod the zip file. MATLAB File Association Fix
  2. Extract it and run matlab script named associateFiles.m in Matlab. By running this script, a new file with extension *.reg will be generated in same folder.
  3. Go to folder and double click on this *.reg file. Regisrty will be updated.
  4. Now restart Matlab.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Environment and Settings 的更多信息

产品


版本

R2010a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by