VMware Horizon Community
caseyfriese
Contributor
Contributor
Jump to solution

ThinApp an Applications that can only run from machine it's built on

So, I'm trying to ThinApp our ERP "fat client" which the developers and BA's use quite heavily.  This application has a gotcha in that it will only run from the machine netbios name on which it was initially installed.  Launching the application from MSI after building and reverting back on my clean-n-build machine works perfectly.  When I stream or do a full install to my View clients, the application throws up a security warning that is impassable essentially saying that the machine name you're trying to run on is not authorized.

At some point during the install process of this application, the machine's netbios name is written to a database table and an encrypted file.

I'm wondering if anyway has any tips to maybe "trick" the application into thinking it's being launched from the actual clean-n-build vm?  We're successful in running this application from Citrix/Terminal server so I know there's no "concurrent user" issues with running the app in multiple sessions from the same machine name.

Thanks,

Casey

Casey Friese, Sr. Enterprise Architect
Reply
0 Kudos
1 Solution

Accepted Solutions
Phil_Helmling
VMware Employee
VMware Employee
Jump to solution

Try changing the computername of the CnB machine to LOCALHOST, reboot and then capture

View solution in original post

Reply
0 Kudos
7 Replies
Phil_Helmling
VMware Employee
VMware Employee
Jump to solution

Try changing the computername of the CnB machine to LOCALHOST, reboot and then capture

Reply
0 Kudos
caseyfriese
Contributor
Contributor
Jump to solution

>> "Try changing the computername of the CnB machine to LOCALHOST, reboot and then capture"

Maybe I'm not understanding your suggestion but I'm not sure how that would solve my issue.  The application will only run from the NETBIOS name of the computer it was installed on, which in this case in the CnB VM.  Can you help me understand how your approach will trick the application into thinking it's running from the CnB machine when I stream it or do a full install to/on my View desktops?

I understand the 'LOCALHOST' workings from a Windows networking perspective but I can't connect the dots with that and what you're suggesting.

-Casey

Casey Friese, Sr. Enterprise Architect
Reply
0 Kudos
JRSSG
Contributor
Contributor
Jump to solution

I haven't used it but the 4.6.1 manual describes this Package.ini setting to "trick" the virtual environment to use another computer name.

[BuildOptions]

VirtualComputerName=THINAPP01 <- computer name of capture machine where it works

Here's a brief description of that setting from the manual:

The VirtualComputerName parameter determines whether to virtualize the computer name, to avoid naming
conflicts between the deployment system and the capture system.

For more info, here's where the user guide for 4.6.1 can be downloaded from.

http://www.vmware.com/pdf/thinapp461_manual.pdf

Reply
0 Kudos
Cievo
Commander
Commander
Jump to solution

JRSSG is correct. Just edit Package.ini file, find line ;VirtualComputerName=CnB, uncomment it and rebuild project. Then try to run application.

***Good question is half of the answer...***
Reply
0 Kudos
VMhadi
Contributor
Contributor
Jump to solution

Just a tip I had similar situation a couple months ago and I look for any setting file(s) in the application that hardcoded the computer name and check if I can change it to something like localhost or * which luckily I can. You might want to check your vendor support too they might be able to help, well in my case they tried and could have found those files faster if I asked them in the first place.

Reply
0 Kudos
caseyfriese
Contributor
Contributor
Jump to solution

Thanks for the tip.  I gave the VirtualComputerName setting a try and at first pass it failed to work but I have to admit this is the first time I've don't anything with ThinApp or software packaging so I'll keep trying to figure this out. 

I'm sure the VirtualComputerName gets me at least half way there. This application has to be installed from UNC mapping a drive to a "deployment" server which I believe somehow registers its computer name in the deployment server database when the install.exe is launched.  If I copy all the install files locally and then run the install, the process fails.

After the installation is complete I see the name of the computer in a partially encrypted file and in a database table.  I believe each time the application is launched, the name of the computer is queried and matched against this encrypted file - the database table is just a log of what compute names tried to run the application.  Since the VirtualComputerName setting didn't work for me the first run, I'm guessing that the application doesn't use the getcomputername api - but if not that, I wonder what it queries?

To further complicate this - I said the partially encrypted file does show the computer name.  Well, I've noticed that when I try to run the application on a View desktop - at the point it fails it throws up a security screen that has a Serial Code - this code changes with each launch.  I'm betting what's encrypted in the file is that serial code matched to the machine name the app was origianlly installed on.

The application is JDE Enterprise One - what we call the Fat client.

I'll keep trying to get this to work and report back - thanks for all your help.

Casey

Casey Friese, Sr. Enterprise Architect
Reply
0 Kudos
shrivastavaa
Enthusiast
Enthusiast
Jump to solution

If it is storing the computer name some where in a file or a database and than checking against it at the time of launch. I do not think ThinApp can do anything if this is the case.

Reply
0 Kudos