MATLAB Answers

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

조회 수: 64(최근 30일)
Tawnly
Tawnly 15 Oct 2014
답변: Charles Askew 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

로그인 to comment.

답변(4개)

Siddharth Sundar
Siddharth Sundar 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

표시 이전 댓글 수: 1
Adam
Adam 16 Oct 2014
The splash screen should come up during initialisation on the target computer.
Tawnly
Tawnly 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 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.

로그인 to comment.


Adam
Adam 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

Image Analyst
Image Analyst 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 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.

로그인 to comment.


Robert Cumming
Robert Cumming 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

로그인 to comment.


Charles Askew
Charles Askew 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

로그인 to comment.

이 질문에 답변하려면 로그인을(를) 수행하십시오.


Translated by