VMware Horizon Community
begae60
Contributor
Contributor

Appsync without write rights in folders

Dear VMware community,

I made a lot of tests before we installed a couple of thinapps in our environment. This tests included updating with AppSync, which worked fine. Unfortunately, I made this tests with a virtual machine which was not part of a domain, and I was the administrator user. So I installed all the software inside C:\Program Files (x86), and had no problem updating inside this folder, because I had all the rights on the machine.

But now, on the productive computers, our users do not have rights to write inside C:\Program Files (x86), and thus are not able to update to a newer version with AppSync over a network. In fact, not even the .asd file gets created. I realized my error when it was to late.

Is there a workaround besides from granting users the needed rights on this folder? Or do we have to create a new version of the package with a different installation path, and reinstall on the machine?

OS: Windows 7 x64

Thinapp 4.5

Thanks in advance for your answers.

Best regards,

Stephan Berger

0 Kudos
10 Replies
pbjork
VMware Employee
VMware Employee

I'm afraid there isn't an easy fix for this one. AppSync do demands modify permissions to the package in order for it to update it.

Some more info about AppSync but none will probably help you..

1.    Appsync.exe is AppSync standalone. You will find the tool in the Setup Capture folder. This one can be used to run the AppSync process as another user, scripted and with a dynamic AppSyncURL. Simply run appsync.exe in cmd to get the help file..

2.    With the help of our ThinApp SDK (http://www.vmware.com/go/ThinAppSDK) can you manipulate different package.ini settings dynamic. For example change the AppSyncURL.

3.    You can change the location of the asd file and other temporary files used by AppSync with the package.ini parameter called: UpgradePath=

Theike
Hot Shot
Hot Shot

Hi,

As Peter already stated it will not be possible to update content in the Program Files folder. Starting Windows Vista this is a restricted area. And as the app is started with the normal user account this will be a no-go. Even power users would at least get the UAC noticication.

Just a note:
We usually try to keep all applications (virtual or 'portable' like single exe) 'installed' outside the system folders (windows, program files, ...) to prevent this. I assume you use MSI roleout, so changing the target folder (to for example 'c:\virtualisedapplications\myappname' will be relative painless.

I

f you have a different distribution method, changing the target path will also be only a minor change. The location the package is placed is not relevant for the app anyway. We have very good experience using the desktop managing and application distribution software from RES Software (http://www.res.nl). It works great in combination with ThinApp! (MSI roleout has it's pro's and con's, just like appsync)

Good luck.
Michael Baars - CIS

Michael Baars - Comprehensive ICT Solutions (NL, Weert) (Remember to mark the post answered and reward points to those who helped you...)
0 Kudos
begae60
Contributor
Contributor

HInt number one works fine for updating, thank you. But is there a way to change the destination folder while updating with AppSync? For example, my software is installed under C:\Program Files<x86>\Software, and now the new path to the .exe and .dat file would be C:\Thinapps\Software.

Is this possible only with AppSync used from the cmd line? Thanks.

0 Kudos
pbjork
VMware Employee
VMware Employee

Sorry but that is not possible. You cannot change the location of the package with AppSync.

0 Kudos
begae60
Contributor
Contributor

OK, thanks for your time and effort to help me.

0 Kudos
rjtd
Contributor
Contributor

Hi there,

You can set UpgradePath to point to a non-privileged path. Appsync will use that directory to store new applications and the asd files. The new applications will be stored as a dot.integer file, and every time you start the application it will look for these files on the UpgradePath directory. The directoy must be read-write by all users, so be aware that your users can easilly replace your apps with undesirable apps for ALL users (they just have to create a .1 file on the UpgradePath directory), they can infect the files with virus or delete all the updates. A very weak and unacceptable solution if you ask me.

You can also make appsync.exe run as a scheduled task with administrator rights. But be aware that appsync.exe is not aware of integer files. This can create some problems. If an app being updated is in use, appsync.exe will create a .1 file and will not replace the original .exe. If you rerun appsync while the app is still running, it will not be aware of that .1 so it will redownload the update. If you restart the app, the .1 file will be locked. Appsync will start updating the .exe file instead of creating a .2 file, so you app will never ever get updated again. You can circunvent this by creating a script that makes appsync target the highest integer file instead of the .exe file. So, this is another poorly implemented solution provided by VMware.

ThinApp unfortunatelly does not support local caching, so the only option is for the users to install the app locally. In my opinion VMware should really create a small service that updates the apps, as currently this scenario is handled very poorly.

Regards.

0 Kudos
pbjork
VMware Employee
VMware Employee

Rjtd is correct regarding UpgradePath. If acceptable to have two instances of the package on the clients, the old package and the new version but in different paths, the package.ini parameter UpgradePath could indeed be used.

If you specify an UpgradePath= to a location where your user/users have modify rights and at the same time they do not have modify permissions to the original package we will still upgrade the package with AppSync but you will end up with something looking like this:

C:\Program Files (x86)\Application A\Application A.exe

C:\UpdatedThinApps\Application A.1

You will in other words use AppSync to deliver an in-place update (integer update or side-by-side updates. We have called it many different things over time).

AppSync is and has always been targeting updating applications on unmanaged PC, which is quite hard to accomplish. That is why we do not have all features you could which for. I think it is important to keep in mind what headache a feature is supposed to solve. AppSync is capable of updating an application you manage but on clients you have no management right to. Everything runs as the logged on user, which must be considered secure in the scoop of what it is doing. No locally installed agent/service is required. In order to deploy updates to managed PC is there many other methods to choose from and ESD is often what customers tend to use.

You can use AppSync in other scenarios of course, but you might think it lacks some functionality. Other functionality often being requested is reporting (who has which version) and the possibility to date stamp an update (decide when the update will be made active on the clients).

0 Kudos
rjtd
Contributor
Contributor

How are users updating ThinApp applications that are in use, using ESD?

As far a I know the msi files ThinApp generates do not allow in use files to be updated.

0 Kudos
pbjork
VMware Employee
VMware Employee

Normally the ESD updates applications during logon / logoff or the users are thrown out from the application if in use. This is how many is updating their locally installed applications and same process is often used with ThinApp.

ThinApp do add some features to support delivery of the update while the application is in use (in-place updates and AppSync) but activation of the new version will first happen during next start of the application.

0 Kudos
ealaqqad
Enthusiast
Enthusiast

If I were you I would just change the ThinApp installation folder as well update folder to something outside the protected path.

Regards,

Eiad Al-Aqqad

http://www.VirtualizationTeam.com

http://www.TSMGuru.com

Regards, Eiad Al-Aqqad Technology Consultant @ VMware b: http://www.VirtualizationTeam.com b: http://www.TSMGuru.com
0 Kudos