WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Installation Licensing Setup
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Unprotected Directory Install Issues

 Keywords:  UAC Windows Vista 7 Unprotected Protected Directory Install Issues Setup Program Files x86 vCheck Run ShellExecute Sufficient Elevation

When running with UAC (User Account Control) on, it is not recommended to install WinBatch any place other than the default directory ( c:\program files(x86)\WinBatch ). Many of the tools included with WinBatch are manifested with uiAccess set to TRUE. So they require a 'protected directory' to be launched from a parent process without a UAC check.

On 64-bit versions of Windows, there are two folders for application files; the %ProgramFiles% folder contains 64-bit programs, and the %ProgramFiles(x86)% folder (called '\Program Files (x86)' on US-English systems) contains 32-bit programs. On Windows NT-based operating systems (NT4, 2000, XP, Vista, etc.), the Program Files folders are protected, meaning that only Administrators can change their contents; while this is a more secure solution, it means that programs which were accustomed to running as administrator and creating logs or other files in the folder containing the application cannot do so when the user is not an administrator, which is increasingly common.

If you insist on installing to an unprotected directory such as 'c:\WinBatch\' then you will need to locate and run the differently manifested versions of the various tools.

For example on Win 7 64 bit, when you launch vcheck.wbt from the studio window, it fails when unzipping the last extender (27th) with the following report:

Error: E:\Winbatch\Extenders\VCheck\unzipped\vcheck
1932: WinExec: Function Failed
On line 645 of E:\Winbatc...nzipped\vcheck\vcheck.wbt
In Routine "Statuscallbackproc"

Run(moi,StrCat('INSTALL ',"",tempfile,""))

Winbatch 32 2012A
WIL Version: 6.12ala
Pressing the "More Error Info" button reports: WinExec error: the requested operation requires elevation. Winbatch.exe does not have sufficient elevation to run vcheck.wbt INSTALL "C:\Users\EdT\Appdata\Local\Temp\TMPFA02.tmp". Use ShellExecute?

The reason you get the 'Run' function error is because you installed WinBatch in an unprotected directory. WinBatch.exe is manifested with uiAccess set to TRUE so it requires a protected directory for it to be launched from a parent process without a UAC check. The easiest way around this problem is to rename the "vcheck.wbt" file to "vcheck.wbt_hf". The change in file extension will cause a version of WinBatch to run the script that has uiAccess set to FALSE but still has elevated Admin privileges, assuming you are logged as an Admin. Another approach would be to change the line

   Run(moi,StrCat('INSTALL ','"',tempfile,'"'))
to
   Run( "WinBatch_hf.exe", StrCat( moi, ' INSTALL ','"',tempfile,'"'))
The other alternative is to re-install WinBatch into a protected directory like "C:\Program Files(X86)". This is the recommended solution.
Article ID:   W17959
Filename:   Unprotected Directory Install Issues.txt
File Created: 2012:02:22:09:09:44
Last Updated: 2012:02:22:09:09:44