MATLAB Answers

How do I suppress the splash screen for compiled applications in 2014b?

57 views (last 30 days)
Tawnly
Tawnly on 15 Oct 2014
Answered: Charles Askew on 9 Feb 2017
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.

  0 Comments

Sign in to comment.

Answers (4)

Siddharth Sundar
Siddharth Sundar on 16 Oct 2014
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 Comments

Show 1 older comment
Adam
Adam on 16 Oct 2014
The splash screen should come up during initialisation on the target computer.
Tawnly
Tawnly on 16 Oct 2014
The splash screen comes up when the executable is run. Given this issue and a few other annoyances that have been added when it comes to command line applications, I have resorted to using mcc and writing scripts to compile.
Tawnly
Tawnly on 16 Oct 2014
I could try to not provide the splash.png file, but I am concerned that it will cause the program to crash when it can't find it. It certainly is not an elegant solution to the issue. I had hoped that adding the -R -nosplash option would work, but apparently the graphic interface to the compiler ignores that particular flag.

Sign in to comment.


Adam
Adam on 16 Oct 2014
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 Comments

Image Analyst
Image Analyst on 16 Oct 2014
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
Tawnly on 16 Oct 2014
I have tried to remove the splash.png file from the list of files. The program adds it back in. Repeatedly. I gave up after multiple attempts to do it that way.
Adding my own image is not helpful as I am trying to run the programs as background processes. Having random graphics popping up would be disruptive.

Sign in to comment.


Robert Cumming
Robert Cumming on 3 Aug 2015
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

  0 Comments

Sign in to comment.


Charles Askew
Charles Askew on 9 Feb 2017
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.

  0 Comments

Sign in to comment.