Hi Kaveh, I nearly had the same problem, but didn't try tallow at all. In our Solution, we simply use a vbscript, that runs as Votive-PreBuildEvent and harvests our Webproject. Output is a .wxi file, that is simply included while creation of setup.
I'll post the code here, maybe its usefull for you. Oliver [code] ExcludeExtensions = Array(".cs", ".csProj", ".csproj.vspscc", ".csproj.user") ExcludeFolders = Array("obj", "Properties") indent = 1 ' setting needed objects Set WshShell = CreateObject("Wscript.shell") Set fso = CreateObject("Scripting.FileSystemObject") call HarvestWebFiles() WScript.Quit '######################################################################################## private sub HarvestWebFiles() dim FilesInclude Set FilesInclude = fso.CreateTextFile("Files.wxi",True) FilesInclude.WriteLine("<?xml version='1.0' encoding='utf-8'?>") FilesInclude.WriteLine("<Include xmlns=" & Chr(34) & "http://schemas.microsoft.com/wix/2006/wi" & Chr(34) & " xmlns:iis=" & Chr(34) & "http://schemas.microsoft.com/wix/IIsExtension" & Chr(34) & " >") set Folder = fso.GetFolder("YOURTARGETFOLDER") call HarvestFolder(FilesInclude, Folder) FilesInclude.WriteLine("</Include>") FilesInclude.Close end sub private sub HarvestFolder(FilesInclude, Folder) for each subfolder in Folder.SubFolders FilesInclude.WriteLine(string(indent,vbtab) & "<Directory Id='" & NewId & "' Name='" & subfolder.Name & "'>") indent = indent + 1 if not (IsExcludedFolder(subFolder.Name)) then call HarvestFolder(FilesInclude, subFolder) end if indent = indent - 1 Filesinclude.WriteLine(string(indent,vbtab) & "</Directory>") next if(Folder.Files.Count > 0) then FilesInclude.WriteLine(string(indent,vbtab) & "<Component Id='" & NewId & "' Guid='" & NewGuid & "'>") indent = indent + 1 for each file in Folder.Files if not (IsExcludedFile(file.Name)) then fileId = NewId FilesInclude.WriteLine(string(indent,vbtab) & "<File Id='" & fileId & "' Name='" & file.Name & "' Source='" & File.Path & "'/>") FilesInclude.WriteLine(string(indent,vbtab) & "<RemoveFile Id='" & fileId & "' On='uninstall' Name='" & file.Name & "'/>") end if next indent = indent - 1 FilesInclude.WriteLine(string(indent,vbtab) & "</Component>") end if end sub private function NewGuid() Set TypeLib = CreateObject("Scriptlet.TypeLib") NewGuid = mid(TypeLib.Guid, 2, len(TypeLib.Guid)-4) Set TypeLib = nothing end function private function NewId() Set TypeLib = CreateObject("Scriptlet.TypeLib") NewId = "_" & Replace(mid(TypeLib.Guid, 2, 8),"-","_") Set TypeLib = nothing end function private function IsExcludedFile(FileName) IsExcludedFile = false for each e in ExcludeExtensions if (Right(FileName,len(e)) = e) then WScript.Echo ("File is excluded: " & FileName) IsExcludedFile = true exit for end if next end function private function IsExcludedFolder(FolderName) IsExcludedFolder = false for each f in ExcludeFolders if (InStr(FolderName,f) > 0) then WScript.Echo ("Folder is excluded: " & FolderName) IsExcludedFolder = true exit for end if next end function [/code] ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users