The command "cacls "..\xxxxxx-xxxxxxx\Address" /E /G xxx\xxx_BTSIsoHst:R" exited with code 3.

Topics: Bindings File, Settings Management and SSO
Apr 8, 2013 at 10:04 AM
Edited Apr 8, 2013 at 10:05 AM
I have configured the Virtual Directory setting's from the Install Wizard.xml.

<SetEnvUIConfigItem><PromptText>Do you want to install virtual directories?</PromptText><PromptValue>true</PromptValue><ValueType>Checkbox</ValueType><EnvironmentVarName>IncludeVirtualDirectories</EnvironmentVarName></SetEnvUIConfigItem>

And the in the file, I have the following code:

<PropertyGroup Condition="'$(IncludeVirtualDirectories)' == 'true'"><IncludeVirtualDirectories>True</IncludeVirtualDirectories></PropertyGroup>

But am getting the below error when I "check" the checkbox for installing VDIR on Install Wizard.
The command "cacls "..\xxxxxx-xxxxxxx\Address" /E /G xxx\xxx_BTSIsoHst:R" exited with code 3.
Apr 8, 2013 at 1:53 PM
Going further, I found the issue as pasted below:

Modifying NTFS permissions on virtual directory folders...
cacls "..\xxxxxxx\Address" /E /G aceina\axsarv:R

The system cannot find the path specified.

C:\Program Files (x86)\xxxxxx\1.0\Deployment\Framework\BizTalkDeploymentFramework.targets(1713,5): error MSB3073: The command "cacls "..\xxxxxx-xxxxxxx\Address" /E /G xxx\xxx_BTSIsoHst:R" exited with code 3.
Apr 9, 2013 at 3:03 AM
By looking at the error message, it seems the path was not created yet. Have you tried CustomPostDeployTarget?

<Target Name="CustomPostDeployTarget" Condition="'$(Configuration)' == 'Server'">
<Exec Command="cacls...>

Apr 9, 2013 at 6:44 AM
Edited Apr 9, 2013 at 6:45 AM
Hi Aaron,

I have identified the issue, but not sure about the solution.

When I create the MSI, the bdtf.proj file does not have the value for IncludeVirtualDirectories as it comes from InstallWizard.xml.
So, it doesn't not copy the files required for creting the VDIR. When I check the checkbox to choose the installing VDIRs in the deployment, it doesn't find the required files.

So, if I set <IncludeVirtualDirectories>True</IncludeVirtualDirectories> in the btdf.proj, then the files get's copied. But then the variable value from installwizard.xml becomes useless.

Should I create the CustomRedist section to copy the folders explicitly and then use the variable value from installwizrd.xml to apply it?

Thanks, Neel.
Apr 9, 2013 at 4:33 PM
Hi Neel,

As long as you are OK with having the virtual directory deployment happen during Visual Studio deployments, then leave <IncludeVirtualDirectories>True</IncludeVirtualDirectories> in your .btdfproj but do one of two things:

1) Move <IncludeVirtualDirectories>True</IncludeVirtualDirectories> into the two PropertyGroup's that include Condition="'$(Configuration)' == 'Debug'" and Condition="'$(Configuration)' == 'Release'". Those are used only for Visual Studio deployments and MSI generation, so the property will not be set for server deployments.

OR 2) Change <IncludeVirtualDirectories>True</IncludeVirtualDirectories> to <IncludeVirtualDirectories Condition="'$(IncludeVirtualDirectories)' == ''">True</IncludeVirtualDirectories> which will cause the value to be used only when no value has already been set -- and it will already be set by the install wizard.

Either way is fine, just your preference.