VMware

This Question is Answered

2 "helpful" answers available (6 pts)
8 Replies Last post: Nov 11, 2009 12:38 AM by Thinstall2  

Visma SPCS Adm. 200 posted: Nov 5, 2009 8:18 AM

Click to view Thinstall2's profile Enthusiast 44 posts since
Jul 29, 2008
I've packed Visma SPCS Administration 200 ver. 4.5.

It's seems that there is either a bug in ThinApp or in the software.

First of some buttonicons didn't show up in Visma when virtualized, but this was solved by ExternalDlls=comctl32.dll (the function ImageList_Render failed when virtual).
But now Im not able to create new projects. I get no errors but the app isnt able to create new apps.
The app (spcsadm.exe) does a loop and checks in in "c:\spcsfiler\" if a folder called FTG1 exists.
If it doesn't it throws up an "new project"-dialog and asks for verification of creatign the project c:\spcsfiler\FTG1.

If it on the other hand finds this directory, that is, if the project already exists it checks for FTG2 and then FTG3 and so on upp to FTG999.

Natively it works. But when i run it in thinapp it for some reason keeps incrementing its loop.
Since it doesn't play with many other runtime files (its most spcsadm.exe talking with kernel32.dll and ntdll) I dont have much to play with.
I've tried most possible flags in package.ini without result, even ExternalDlls=kernel32.dll wich obviously didn't work.

So either the developers at Visma reacts on an stupid exception from kernel32-api that they shouldn't or the VOS api for kernel32 don't answer the same way as the native.
Anyone? Any ideas greatly appricieated. Here are a small bit of log from what happens when the process looks for the foldername until it gives up and starts looking FTG2* instead. (*=begins immediatly after the last line here)

026328 0db4 0a74 spcsadm.exe :00977d1b->kernel32.dll:7c81399c GetFullPathNameA+ (LPCSTR lpFileName=*12D778h->"C:\SPCSFiler\F\F6hretag\FTG1", DWORD nBufferLength=104h, LPSTR lpBuffer=*2578ED8h->"\E8h\8FhW\02hPCSFiler\F\F6hretag\Ovnbol\PRM.DBF", *lpFilePart=*12D488h->*7C910222h->"\C2h\04h")
026330 0db4 0a74 kernel32.dll:7c813a1d->ntdll.dll :7c9131ba RtlUnicodeToMultiByteSize (PULONG =*12D2D4h->32h, PCWSTR =*150358h->L"C:\SPCSFiler\F\F6hretag\FTG1", ULONG =32h)
026331 0db4 0a74 kernel32.dll:7c813a1d<-ntdll.dll :7c9131ba RtlUnicodeToMultiByteSize ->long=0h (PULONG =*12D2D4h->19h, PCWSTR =*150358h->L"C:\SPCSFiler\F\F6hretag\FTG1", ULONG =0h)
026333 0db4 0a74 kernel32.dll:7c813a48->ntdll.dll :7c9131ba RtlUnicodeToMultiByteSize (PULONG =*12D2C8h->0h, PCWSTR =*150358h->L"C:\SPCSFiler\F\F6hretag\FTG1", ULONG =2Ah)
026334 0db4 0a74 kernel32.dll:7c813a48<-ntdll.dll :7c9131ba RtlUnicodeToMultiByteSize ->long=0h (PULONG =*12D2C8h->15h, PCWSTR =*150358h->L"C:\SPCSFiler\F\F6hretag\FTG1", ULONG =0h)
026336 0db4 0a74 kernel32.dll:7c813a88->ntdll.dll :7c912bb8 RtlUnicodeStringToAnsiString
026337 0db4 0a74 kernel32.dll:7c813a88<-ntdll.dll :7c912bb8 RtlUnicodeStringToAnsiString ->long=0h (PANSI_STRING =*12D2B4h->struct {USHORT Length=19h, USHORT MaximumLength=1Ah, PSTR Buffer=*1B9A00h->"C:\SPCSFiler\F\F6hretag\FTG1"}, PCUNICODE_STRING =*12D2ACh->struct {USHORT Length=32h, USHORT MaximumLength=34h, PWSTR Buffer=*150358h->L"C:\SPCSFiler\F\F6hretag\FTG1"}, BOOLEAN ='\01h')
026339 0000 0a74 GetFullPathNameA C:\SPCSFiler\Företag\FTG1 -> 25 (buf=C:\SPCSFiler\Företag\FTG1, file_part=FTG1)
026340 0db4 0a74 spcsadm.exe :00977d1b<-kernel32.dll:7c81399c GetFullPathNameA+ ->unsigned long=19h (LPCSTR lpFileName=*12D778h->"C:\SPCSFiler\F\F6hretag\FTG1", DWORD nBufferLength=104h, LPSTR lpBuffer=*2578ED8h->"C:\SPCSFiler\F\F6hretag\FTG1", *lpFilePart=*12D488h->*2578EEDh->"FTG1")
026342 0db4 0a74 spcsadm.exe :0097764e->kernel32.dll:7c8101b1 lstrcpynA (LPSTR lpString1=*2578FE8h->"", LPCSTR lpString2=*2578ED8h->"C:\SPCSFiler\F\F6hretag\FTG1", int iMaxLength=104h)
026343 0db4 0a74 spcsadm.exe :0097764e<-kernel32.dll:7c8101b1 lstrcpynA ->*=*2578FE8h->"C:\SPCSFiler\F\F6hretag\FTG1" (LPSTR lpString1=*2578FE8h->"C:\SPCSFiler\F\F6hretag\FTG1", LPCSTR lpString2=*2578ED8h->"C:\SPCSFiler\F\F6hretag\FTG1", int iMaxLength=EBh)
026345 0db4 0a74 spcsadm.exe :00977d5f->kernel32.dll:7c80acaf SetErrorMode (UINT uMode=1h)
026346 0db4 0a74 spcsadm.exe :00977d5f<-kernel32.dll:7c80acaf SetErrorMode ->unsigned int=8001h (UINT uMode=1h)
026348 0db4 0a74 spcsadm.exe :00977d80->kernel32.dll:7c821ba5 GetVolumeInformationA+ (LPCSTR lpRootPathName=*27B4980h->"C:\", LPSTR lpVolumeNameBuffer=*0h<null pointer> <bad ptr>, DWORD nVolumeNameSize=0h, LPDWORD lpVolumeSerialNumber=*0h<null pointer> <bad ptr>, LPDWORD lpMaximumComponentLength=*12D48Ch->7h, LPDWORD lpFileSystemFlags=*12D484h->2570000h, LPSTR lpFileSystemNameBuffer=*0h<null pointer> <bad ptr>, DWORD nFileSystemNameSize=0h)
026349 0db4 0a74 spcsadm.exe :00977d80<-kernel32.dll:7c821ba5 GetVolumeInformationA+ ->int=1h (LPCSTR lpRootPathName=*27B4980h->"C:\", LPSTR lpVolumeNameBuffer=*0h<null pointer> <bad ptr>, DWORD nVolumeNameSize=0h, LPDWORD lpVolumeSerialNumber=*0h<null pointer> <bad ptr>, LPDWORD lpMaximumComponentLength=*12D48Ch->FFh, LPDWORD lpFileSystemFlags=*12D484h->700FFh, LPSTR lpFileSystemNameBuffer=*0h<null pointer> <bad ptr>, DWORD nFileSystemNameSize=0h)
026351 0db4 0a74 spcsadm.exe :00977da1->kernel32.dll:7c80acaf SetErrorMode (UINT uMode=8001h)
026352 0db4 0a74 spcsadm.exe :00977da1<-kernel32.dll:7c80acaf SetErrorMode ->unsigned int=1h (UINT uMode=8001h)
026354 0db4 0a74 spcsadm.exe :00978777->kernel32.dll:7c813879 FindFirstFileA+ (LPCSTR lpFileName=*2578ED8h->"C:\SPCSFiler\F\F6hretag\FTG1", *lpFindFileData=*12D5FCh->struct {DWORD dwFileAttributes=1h, struct ftCreationTime=struct {DWORD dwLowDateTime=0h, DWORD dwHighDateTime=12D620h}, struct ftLastAccessTime=struct {DWORD dwLowDateTime=C4E165h, DWORD dwHighDateTime=27B3E00h}, struct ftLastWriteTime=struct {DWORD dwLowDateTime=116A414h, DWORD dwHighDateTime=1h}, DWORD nFileSizeHigh=8h, DWORD nFileSizeLow=0h, DWORD dwReserved0=12D63Ch, DWORD dwReserved1=C4E165h, char260 cFileName=['\00h', '>', '{', '\02h', '\A4h', '\D6h', '\12h', '\00h', '\08h', '\00h', '\00h', '\00h', '\90h', '2', '\FCh', '\FEh', '\08h', '\00h', '\00h', '\00h', '\00h', '\00h', '\00h', '\00h', '\9Ch' .. @%u
026356 0000 0a74 FindFirstFileA 'C:\SPCSFiler\Företag\FTG1' -> INVALID_HANDLE_VALUE *** failed fs entry not found %drive_C%\SPCSFiler\Företag\FTG1fs entry not found %drive_C%\SPCSFiler\Företag\FTG1*** parent isolated, skipping system probe
026357 0db4 0a74 spcsadm.exe :00978777<-kernel32.dll:7c813879 *** FindFirstFileA+ ->*=*FFFFFFFFh (LPCSTR lpFileName=*2578ED8h->"C:\SPCSFiler\F\F6hretag\FTG1", *lpFindFileData=*12D5FCh->struct {DWORD dwFileAttributes=1h, struct ftCreationTime=struct {DWORD dwLowDateTime=0h, DWORD dwHighDateTime=12D620h}, struct ftLastAccessTime=struct {DWORD dwLowDateTime=C4E165h, DWORD dwHighDateTime=27B3E00h}, struct ftLastWriteTime=struct {DWORD dwLowDateTime=116A414h, DWORD dwHighDateTime=1h}, DWORD nFileSizeHigh=8h, DWORD nFileSizeLow=0h, DWORD dwReserved0=0h, DWORD dwReserved1=0h, char260 cFileName=['\00h', '>', '{', '\02h', '\A4h', '\D6h', '\12h', '\00h', '\08h', '\00h', '\00h', '\00h', '\90h', '2', '\FCh', '\FEh', '\08h', '\00h', '\00h', '\00h', '\00h', '\00h', '\00h', '\00h', '\9Ch' .. @%u
026358 0db4 0a74 spcsadm.exe :00977d1b->kernel32.dll:7c81399c GetFullPathNameA+ (LPCSTR lpFileName=*12D778h->"C:\SPCSFiler\F\F6hretag\FTG1", DWORD nBufferLength=104h, LPSTR lpBuffer=*2578ED8h->"\E8h\8FhW\02hPCSFiler\F\F6hretag\FTG1", *lpFilePart=*12D494h->*2570000h->"\C8h")
026359 0db4 0a74 kernel32.dll:7c813a1d->ntdll.dll :7c9131ba RtlUnicodeToMultiByteSize (PULONG =*12D2E0h->32h, PCWSTR =*150358h->L"C:\SPCSFiler\F\F6hretag\FTG1", ULONG =32h)
026360 0db4 0a74 kernel32.dll:7c813a1d<-ntdll.dll :7c9131ba RtlUnicodeToMultiByteSize ->long=0h (PULONG =*12D2E0h->19h, PCWSTR =*150358h->L"C:\SPCSFiler\F\F6hretag\FTG1", ULONG =0h)
026361 0db4 0a74 kernel32.dll:7c813a48->ntdll.dll :7c9131ba RtlUnicodeToMultiByteSize (PULONG =*12D2D4h->0h, PCWSTR =*150358h->L"C:\SPCSFiler\F\F6hretag\FTG1", ULONG =2Ah)
026362 0db4 0a74 kernel32.dll:7c813a48<-ntdll.dll :7c9131ba RtlUnicodeToMultiByteSize ->long=0h (PULONG =*12D2D4h->15h, PCWSTR =*150358h->L"C:\SPCSFiler\F\F6hretag\FTG1", ULONG =0h)
026363 0db4 0a74 kernel32.dll:7c813a88->ntdll.dll :7c912bb8 RtlUnicodeStringToAnsiString
026364 0db4 0a74 kernel32.dll:7c813a88<-ntdll.dll :7c912bb8 RtlUnicodeStringToAnsiString ->long=0h (PANSI_STRING =*12D2C0h->struct {USHORT Length=19h, USHORT MaximumLength=1Ah, PSTR Buffer=*1B9A00h->"C:\SPCSFiler\F\F6hretag\FTG1"}, PCUNICODE_STRING =*12D2B8h->struct {USHORT Length=32h, USHORT MaximumLength=34h, PWSTR Buffer=*150358h->L"C:\SPCSFiler\F\F6hretag\FTG1"}, BOOLEAN ='\01h')
026365 0000 0a74 GetFullPathNameA C:\SPCSFiler\Företag\FTG1 -> 25 (buf=C:\SPCSFiler\Företag\FTG1, file_part=FTG1)
026366 0db4 0a74 spcsadm.exe :00977d1b<-kernel32.dll:7c81399c GetFullPathNameA+ ->unsigned long=19h (LPCSTR lpFileName=*12D778h->"C:\SPCSFiler\F\F6hretag\FTG1", DWORD nBufferLength=104h, LPSTR lpBuffer=*2578ED8h->"C:\SPCSFiler\F\F6hretag\FTG1", *lpFilePart=*12D494h->*2578EEDh->"FTG1")
026367 0db4 0a74 spcsadm.exe :0097764e->kernel32.dll:7c8101b1 lstrcpynA (LPSTR lpString1=*2578FE8h->"", LPCSTR lpString2=*2578ED8h->"C:\SPCSFiler\F\F6hretag\FTG1", int iMaxLength=104h)
026368 0db4 0a74 spcsadm.exe :0097764e<-kernel32.dll:7c8101b1 lstrcpynA ->*=*2578FE8h->"C:\SPCSFiler\F\F6hretag\FTG1" (LPSTR lpString1=*2578FE8h->"C:\SPCSFiler\F\F6hretag\FTG1", LPCSTR lpString2=*2578ED8h->"C:\SPCSFiler\F\F6hretag\FTG1", int iMaxLength=EBh)
026369 0db4 0a74 spcsadm.exe :00977d5f->kernel32.dll:7c80acaf SetErrorMode (UINT uMode=1h)
026370 0db4 0a74 spcsadm.exe :00977d5f<-kernel32.dll:7c80acaf SetErrorMode ->unsigned int=8001h (UINT uMode=1h)
026371 0db4 0a74 spcsadm.exe :00977d80->kernel32.dll:7c821ba5 GetVolumeInformationA+ (LPCSTR lpRootPathName=*27B4980h->"C:\", LPSTR lpVolumeNameBuffer=*0h<null pointer> <bad ptr>, DWORD nVolumeNameSize=0h, LPDWORD lpVolumeSerialNumber=*0h<null pointer> <bad ptr>, LPDWORD lpMaximumComponentLength=*12D498h->257E0E8h, LPDWORD lpFileSystemFlags=*12D490h->25707D8h, LPSTR lpFileSystemNameBuffer=*0h<null pointer> <bad ptr>, DWORD nFileSystemNameSize=0h)
026372 0db4 0a74 spcsadm.exe :00977d80<-kernel32.dll:7c821ba5 GetVolumeInformationA+ ->int=1h (LPCSTR lpRootPathName=*27B4980h->"C:\", LPSTR lpVolumeNameBuffer=*0h<null pointer> <bad ptr>, DWORD nVolumeNameSize=0h, LPDWORD lpVolumeSerialNumber=*0h<null pointer> <bad ptr>, LPDWORD lpMaximumComponentLength=*12D498h->FFh, LPDWORD lpFileSystemFlags=*12D490h->700FFh, LPSTR lpFileSystemNameBuffer=*0h<null pointer> <bad ptr>, DWORD nFileSystemNameSize=0h)
026373 0db4 0a74 spcsadm.exe :00977da1->kernel32.dll:7c80acaf SetErrorMode (UINT uMode=8001h)
026374 0db4 0a74 spcsadm.exe :00977da1<-kernel32.dll:7c80acaf SetErrorMode ->unsigned int=1h (UINT uMode=8001h)
026376 0db4 0a74 spcsadm.exe :0097884d->kernel32.dll:7c80acaf SetErrorMode (UINT uMode=1h)
026377 0db4 0a74 spcsadm.exe :0097884d<-kernel32.dll:7c80acaf SetErrorMode ->unsigned int=8001h (UINT uMode=1h)
026379 0db4 0a74 spcsadm.exe :00978864->kernel32.dll:7c821ba5 GetVolumeInformationA+ (LPCSTR lpRootPathName=*2578ED8h->"C:\SPCSFiler\F\F6hretag\FTG1\", LPSTR lpVolumeNameBuffer=*0h<null pointer> <bad ptr>, DWORD nVolumeNameSize=0h, LPDWORD lpVolumeSerialNumber=*0h<null pointer> <bad ptr>, LPDWORD lpMaximumComponentLength=*0h<null pointer> <bad ptr>, LPDWORD lpFileSystemFlags=*0h<null pointer> <bad ptr>, LPSTR lpFileSystemNameBuffer=*0h<null pointer> <bad ptr>, DWORD nFileSystemNameSize=0h)
026380 0db4 0a74 spcsadm.exe :00978864<-kernel32.dll:7c821ba5 GetVolumeInformationA+ ->int=1h (LPCSTR lpRootPathName=*2578ED8h->"C:\SPCSFiler\F\F6hretag\FTG1\", LPSTR lpVolumeNameBuffer=*0h<null pointer> <bad ptr>, DWORD nVolumeNameSize=0h, LPDWORD lpVolumeSerialNumber=*0h<null pointer> <bad ptr>, LPDWORD lpMaximumComponentLength=*0h<null pointer> <bad ptr>, LPDWORD lpFileSystemFlags=*0h<null pointer> <bad ptr>, LPSTR lpFileSystemNameBuffer=*0h<null pointer> <bad ptr>, DWORD nFileSystemNameSize=0h)
026382 0db4 0a74 spcsadm.exe :00978874->kernel32.dll:7c80acaf SetErrorMode (UINT uMode=8001h)
026383 0db4 0a74 spcsadm.exe :00978874<-kernel32.dll:7c80acaf SetErrorMode ->unsigned int=1h (UINT uMode=8001h)

Re: Visma SPCS Adm. 200

1. Nov 5, 2009 10:56 AM in response to: Thinstall2
Click to view pbjork's profile Hot Shot 105 posts since
Mar 7, 2008
Hi..
This might not have any relevance but I see that the path contains Swedish characters and in the log it has been changed and now include an extra backslash C:\SPCSFiler\F\F6hretag\FTG1. I suspect it should be C:\SPCSFiler\Företag\FTG1.

Is it possible to get rid of the Swedish Ö in the path and give it a test run??

Re: Visma SPCS Adm. 200

4. Nov 9, 2009 3:17 AM in response to: Thinstall2
Click to view pbjork's profile Hot Shot 105 posts since
Mar 7, 2008
This is strange because I have packaged SPCS Administration 2000 without any problems at all.. Just using pretty much default settings. What version are you using?

Re: Visma SPCS Adm. 200

7. Nov 10, 2009 11:26 AM in response to: Thinstall2
Click to view pbjork's profile Hot Shot 105 posts since
Mar 7, 2008

Wonderfull news.. All our updates have many fixes so it is not surprising that a simple rebuild with a newer version solves old issues.


I used ThinApp 4.0 when I was playing around with the SPCS 2000 and I do not have the project (belonged to a customer).

VMware Developer

SDKs, APIs, Videos, Learn and much more in the Developer community.

Learn More

Developer Sample Code

Increase your developer productivity with VMware API sample code.

Learn More

VMworld Sessions & Labs

Online access to the latest VMworld Sessions & Labs and online services.

Learn more

Purchase PSO Credits Online

Purchase credits to redeem training and consulting services online.

Buy Now

Community Hardware Software

View reported configurations or report your own.

Learn More

VMware vSphere

Come witness the next giant leap in virtualization.

Register Today

Communities