cancel
Showing results for 
Search instead for 
Did you mean: 

Deploying newer version of application on to device.

Former Member
0 Kudos

Hi All,

I wnated to know that is it possible to deploy the newer version of your mobile application to mobile device via webconsole without deleting the older one.As for some minor changes made to application we have to delete the old version to deploy the newer version.Is it possible via some mechanism like Addon...

please help.

Thanks

Regards

Devendra

Accepted Solutions (1)

Accepted Solutions (1)

former_member411932
Discoverer
0 Kudos

Hi Dev,

If you have followed the intructions correctly and you see a message of new installation package to be installed and still not able to complete it then most probably you are doing something wrong with the new deployment file. Please check your MI Client installer trace file in \bin\ci folder of ur MI installation folder. There you might find the actual cause as to why the new update is not getting effective. May be the client is not able to find the components required to complete the installation. Also when you build your zip file dont include the folder paths of the parent folders i.e the folder structure when u extract the zip file shud be something like this :

root\install.xml

applicationname\webapps\appln.war

applicationname\meta-inf\manifest.mf

applicationname\meta-inf\preinstall.config

make sure that the install.xml is not in any folder in the zip file that u create. and then try doing the update deployment. Hope it works as it worked for me. Wish you luck.

Answers (6)

Answers (6)

Former Member
0 Kudos

Hi Jo,

If there is change in meta data structure i.e if suppose i change the dataelement of certain fields or new fields are added then what is the procedure of creating a ADDON ...

Thanks in advance

Thanks

Regards

Devendra

Former Member
0 Kudos

Hi All,

I tried to create a addon ...via the process mentioned in the thread.There is no change in my metarep xml file.I wanted to deploy the whole war file.but was not able to see the changes in my application.i m giving the install.xml below what i used to upgrade my application.

<?xml version="1.0" encoding="UTF-8"?>

<ARCHIVE name="ZTEST Upgrade" description="This Installer installs an upgrade of ZTEST " uimode="full">

<PACKAGE name="ZTEST " description="Add-On ZTEST " >

<TASK name="Delete application folder">

<!-- delete application folder -->

<DELETE pattern="**" targetFolder="%MI_HOME%/webapps/ZTEST /" mi_running="false"/>

</TASK>

<TASK name="Copy new application">

<!-- copy new war to webapps -->

<COPY source="webapps" pattern="ZTEST .war" target="%MI_HOME%/webapps/" mi_running="false"/>

</TASK>

</PACKAGE>

</ARCHIVE>

On synchronization it gives the following message.

A new installation package needs to be executed. Data might be lost during installation. You should therefore first synchronize your data. Do you want to start the installation now or later?

but when i press start.Nothing happens .Also when u checked my info in mi client it doesnt show the information of addon.

Please suggest.

Thanks in advance

Regards

Devendra

Former Member
0 Kudos

Hi Devendra,

Check in your webapps folder if your new files are present. You can use a decompiler on the classes where you have made modifications and check if the new code is present. This will tell you if the addon worked or not.

If the new files have come down maybe you should clear your work folder.

Regards,

Karthik

Former Member
0 Kudos

hi deven,

this depends on what features you are using and how you are to deploy it.

do you just want to deploy new resources and those affected by the changes?

or the whole application archive? are your fixes on the driver level? web resource

level? are you using smartsync? do you want your data to keep intact? do you

need to update your metadata? and so on...

if you can give details, it would be easier to give suggestions.

regards

jo

kishorg
Advisor
Advisor
0 Kudos

Hi Deva,

If there is no change in the structures(metadata information in meRepMeta.xml file) which are used in BAPI Wrappers (These are used in Synchronization Business Object – SyncBo – creation , and these SyncBos are used in particular Mobile Application ), assigning new version of application to the client device is a time spending process in production environments.

just refer this blog ,

/people/kishor.gopinathan/blog/2006/03/17/how-can-we-apply-mi-application-patches

Regards,

Kishor Gopinathan

Former Member
0 Kudos

Hi Devendra

You cannot deploy a newer version of an application when the older one still exists on the client. But you have mentioned that only few minor changes have been done to the application. For example let me assume that you have changed some code which was included in the jar file of the applicaiton. This jar file always resides in the WEB-INF/lib folder to the applicaiton. You just want to replace this jar file in the older application instead of deleting the application completely. So the solution is to do this is to create a client installer archive which is nothing but an addon. Please refer to the following documention about the <b><i>Client Installer</i></b> http://aiokeh.wdf.sap.corp:50000/SAPIKS2/contentShow.sap?_SCLASS=IWB_STRUCT&_SLOIO=6B5332E9145D0E469...

or an alternate link is http://help.sap.com/saphelp_nw04/helpdata/en/3a/b834418b718739e10000000a1550b0/frameset.htm or even refer to the MI Installation Guide.

Once you have referred to the documentation you would know how to create a install.xml file and what are the tags contained in them. Please make sure the MANIFEST.MF file contains an entry called <i><b>PatchArchive:X</b></i>. A sample xml for this problem would look like this.

<?xml version="1.0" encoding="UTF-8" ?> 
<ARCHIVE name="Upgrade Application" description="Installer" uimode="full">
<PACKAGE name="MI25" description="New Jar file for application">
<TASK name="Delete old files">
<DELETE targetfolder="%MI_HOME%/webapps/your app name/WEB-INF/lib" pattern="**" mi_running="false" /> 
</TASK>
<TASK name="Add new files">
<COPY source="/app/" pattern="NewApp.jar" target="%MI_HOME%/webapps/your app name/WEB-INF/lib" mi_running="false" /> 
</TASK>
</PACKAGE>
</ARCHIVE>

If you create the xml correctly, this will definitely solve your problem

Best Regards

Sivakumar

Former Member
0 Kudos

Hi Devendra,

If you use the JSP version of the MI client the application sits in the webapps folder of tomcat. The framework does not have a direct handle on this and it is difficult to create an addon and upgrade your version. So your only option is to delete the old version and create a new one.

But if you use the AWT version the application is present in the libs folder, to upgrade your application you can create an addon.

Best Regards,

Karthik