[Solved] Installing OpenOffice without wizard

Creating a macro - Writing a Script - Using the API (OpenOffice Basic, Python, BeanShell, JavaScript)
Post Reply
brunosiqueira
Posts: 4
Joined: Tue Jan 22, 2008 8:26 pm

[Solved] Installing OpenOffice without wizard

Post by brunosiqueira »

In a application we are developing in the company I work we extended OpenOffice. But it is going to be used by users who are not administrators of the computer they'll be working on.
When the part of the system that uses OpenOffice is accessed for the first time, the system shows a wizard screen for installing the OpenOffice in the computer for those type of users (if I do it with an administrator user the wizard screen is not shown).
I was wondering If there's any way for the Open Office to be intalled without showing the wizard screen when installing (so it's transparent to the user) and without registering it on the Windows's register.
Thanks
Bruno Siqueira
Last edited by Hagar Delest on Thu Jul 10, 2008 10:45 pm, edited 1 time in total.
Reason: tagged the thread as Solved.
User avatar
Hagar Delest
Moderator
Posts: 32664
Joined: Sun Oct 07, 2007 9:07 pm
Location: France

Re: Installing OpenOffice without wizard

Post by Hagar Delest »

Does it help: [Solved] Welcome to Open Office screen?

Thanks to add '[Solved]' in your first post title (edit button) if your issue has been fixed.
LibreOffice 7.6.2.1 on Xubuntu 23.10 and 7.6.4.1 portable on Windows 10
brunosiqueira
Posts: 4
Joined: Tue Jan 22, 2008 8:26 pm

Re: Installing OpenOffice without wizard

Post by brunosiqueira »

Hagar de l'Est wrote:Does it help: [Solved] Welcome to Open Office screen?

Thanks to add '[Solved]' in your first post title (edit button) if your issue has been fixed.

Actually, it helps in part.
I start the openOffice from another application so I can use the line:
System.setProperty("com.sun.star.officebean.Options","-nofirststartwizard");
And it works fine. The problem is that I already have another property to be used in com.sun.star.officebean.Options that is -norestore. And I can't set both of then. Is there another property in openOffice were I coud set one of those or both?
Thanks
User avatar
Hagar Delest
Moderator
Posts: 32664
Joined: Sun Oct 07, 2007 9:07 pm
Location: France

Re: Installing OpenOffice without wizard

Post by Hagar Delest »

I'm not fond of arguments in command lines. I think that the most reliable way is to tweak the new OOo user profile (see second part of the post). Note that with the latter method, both the norestore and no registration screen can be set together by modifying the configuration file.
LibreOffice 7.6.2.1 on Xubuntu 23.10 and 7.6.4.1 portable on Windows 10
brunosiqueira
Posts: 4
Joined: Tue Jan 22, 2008 8:26 pm

Re: Installing OpenOffice without wizard

Post by brunosiqueira »

Hagar de l'Est wrote:I'm not fond of arguments in command lines. I think that the most reliable way is to tweak the new OOo user profile (see second part of the post). Note that with the latter method, both the norestore and no registration screen can be set together by modifying the configuration file.
Thanks. We are gonna do the script.
User avatar
Tommy
Posts: 251
Joined: Sun Dec 23, 2007 2:44 pm

Re: Installing OpenOffice without wizard

Post by Tommy »

why don't u use the no-install version of OOo.
ucan find it here: http://www.winpenpack.com/main/news.php
-----
using latest X-LibreOffice release, made portable by winPenPack.com
http://www.winpenpack.com/main/download.php?view.1354
brunosiqueira
Posts: 4
Joined: Tue Jan 22, 2008 8:26 pm

Re: Installing OpenOffice without wizard

Post by brunosiqueira »

I've solved my problem with a solution that, might not be the best one, but it works perfectly.
I've copied the LocalOfficeConnection class from the api (and two or three others that were necessary) to my project and modified the startupService() method.

Code: Select all

		public void startupService()
			throws java.io.IOException
		{
            int nSizeCmdArray = 7;
           // create call with arguments
			String[] cmdArray = new String[nSizeCmdArray];
			cmdArray[0] = (new File(getProgramPath(), OFFICE_APP_NAME)).getPath();
			cmdArray[1] = "-nologo";
			cmdArray[2] = "-nodefault";
			if ( mConnType.equals( "pipe" ) )
				cmdArray[3] = "-accept=pipe,name=" + getIdentifier() + ";" +
						  mProtocol + ";" + mInitialObject;
			else if ( mConnType.equals( "socket" ) )
				cmdArray[3] = "-accept=socket,port=" + mPort + ";urp";
			else
				throw new java.io.IOException( "not connection specified" );
            
            cmdArray[4] = "-nofirststartwizard";
            cmdArray[5] = "-norestore";
            cmdArray[6] = "-nolockcheck";

			// start process
			mProcess = Runtime.getRuntime().exec(cmdArray);
			if ( mProcess == null )
				throw new RuntimeException( "cannot start soffice: " + cmdArray );
            new StreamProcessor(mProcess.getInputStream(), System.out);
            new StreamProcessor(mProcess.getErrorStream(), System.err);
		}
I added

Code: Select all

            cmdArray[4] = "-nofirststartwizard";
            cmdArray[5] = "-norestore";
Which now makes open office in my app open for the first time with no wizard and no recovery screen.
Post Reply