How do I suppress the splash screen for compiled applications in 2014b?
显示 更早的评论
I generally compile MATLAB applications to run calculations in the background. I was previously doing this without an issue in 2013a. In 2014b, the splash screen comes as a default behavior when compiling an application. How do I turn this off? It is quite disruptive when trying to run things in the background.
回答(4 个)
Siddharth Sundar
2014-10-16
0 个投票
This is not possible directly. As a workaround, do NOT distribute the splash screen image file from the for_redistribution_files_only folder together with your application. You could just delete the "splash.png" file from the for_redistribution_files_only folder.
4 个评论
Image Analyst
2014-10-16
Wait, you've confused me. When does it come up? When you're compiling an application like you said in the original question, or when your end user tried to run your application on the target computer? Or both times?
Adam
2014-10-16
The splash screen should come up during initialisation on the target computer.
Tawnly
2014-10-16
Tawnly
2014-10-16
Adam
2014-10-16
0 个投票
If you are using Matlab Compiler (the App) there is a section at the bottom entitled 'Files installed for your end user'.
One of these is 'splash.png'. You can right-click and delete this which I assume would result in no splash screen when the user opens the tool. I don't really want to test it out on my compiled projects as I want the splash screen and don't know how to get it back if I remove it, but I asume it can't show a splash screen if there is no png for it.
2 个评论
Image Analyst
2014-10-16
Maybe you can replace it with one of your own - a custom image with your own logo??? I haven't tried the compiler in R2014b yet.
Tawnly
2014-10-16
Robert Cumming
2015-8-3
I had a similar issue (not wanting the splashscreen to be displayed every time you run an exe).
One way to resolve this is to delete the splash.png from the installation folder - rather than do this manually I do this in my primary m-file, it does mean that the first time the exe is run the splashscreen is displayed, but subsequent times it is not, so for my purpose its an acceptable work around:
if isdeployed() % only run if in deployed mode
% Get the installation path
[status, result] = system('path');
installpath = char(regexpi(result, 'Path=(.*?);', 'tokens', 'once'));
% build the full filename of the splash image
splashpng = fullfile ( installpath, 'splash.png' );
if exist ( splashpng, 'file' ) == 2
delete ( splashpng );
end
end
1 个评论
Alain
2022-2-18
I tried it but says "permission denied" because the file is in program files after installation
Charles Askew
2017-2-9
0 个投票
I had a slightly different problem in that I was writing an application which only uses the system tray FEX systray and in this situation the slash screen persists until the user kills it. I had to open a figure (offscreen) and then delete it during program startup. I tried starting the figure with Visible='off' but this didn't have the desired effect. I still get the splash screen while the program is starting up, but it disappears as soon as it has got going.
类别
在 帮助中心 和 File Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!