by Shawn
25. January 2012 12:21
Great article: http://stackoverflow.com/questions/2959964/vs2010-web-deploy-how-to-remove-absolute-paths-and-automate-setacl
The displayed path is determined by the property _MSDeployDirPath_FullPath.
This property is setted by this chain of properties:
<_MSDeployDirPath_FullPath>@(_MSDeployDirPath->'%(FullPath)')</_MSDeployDirPath_FullPath>
<_MSDeployDirPath Include="$(_PackageTempDir)" />
<_PackageTempDir>$(PackageTempRootDir)\PackageTmp</_PackageTempDir>
<PackageTempRootDir>$(IntermediateOutputPath)Package</PackageTempRootDir>
_MSDeployDirPath_FullPath <-- @(_MSDeployDirPath->'%(FullPath)') <-- _PackageTempDir <-- $(PackageTempRootDir)\PackageTmp
AS you can see, you can't have a relative path, because
_MSDeployDirPath_FullPath is the fullpath of
_MSDeployDirPath.
But you can simplify the displayed path by overriding the property _PackageTempDir with the path you want to be displayed to your customer. (This path will be used as a temporary directory for the package generation)
You could override the property :
-
In command line :
msbuild.exe projectfile.csproj /t:Package /p:_PackageTempDir=C:\Package
-
Or directly in the project file :
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<!-- Must be after Microsoft.WebApplication.targets import -->
<PropertyGroup>
<_PackageTempDir>C:\Package</_PackageTempDir>
</PropertyGroup>