{"action":"created","issue":{"url":"https://api.github.com/repos/wixtoolset/issues/issues/15","repository_url":"https://api.github.com/repos/wixtoolset/issues","labels_url":"https://api.github.com/repos/wixtoolset/issues/issues/15/labels{/name}","comments_url":"https://api.github.com/repos/wixtoolset/issues/issues/15/comments","events_url":"https://api.github.com/repos/wixtoolset/issues/issues/15/events","html_url":"https://github.com/wixtoolset/issues/issues/15","id":123139538,"number":15,"title":"Include complete directory trees in wxs/msi","user":{"login":"wixbot","id":7120850,"avatar_url":"https://avatars.githubusercontent.com/u/7120850?v=3","gravatar_id":"","url":"https://api.github.com/users/wixbot","html_url":"https://github.com/wixbot","followers_url":"https://api.github.com/users/wixbot/followers","following_url":"https://api.github.com/users/wixbot/following{/other_user}","gists_url":"https://api.github.com/users/wixbot/gists{/gist_id}","starred_url":"https://api.github.com/users/wixbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wixbot/subscriptions","organizations_url":"https://api.github.com/users/wixbot/orgs","repos_url":"https://api.github.com/users/wixbot/repos","events_url":"https://api.github.com/users/wixbot/events{/privacy}","received_events_url":"https://api.github.com/users/wixbot/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/wixtoolset/issues/labels/feature","name":"feature","color":"91ca55"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2004-04-10T00:43:21Z","updated_at":"2016-02-24T06:34:14Z","closed_at":"2015-12-20T07:16:11Z","body":"It's a real pain to hand-write a wxs file when you want \r\nto include really large amounts of files located in \r\nnumerous subdirectories. \r\n\r\nTypical examples would be: a web site or a html \r\ndocumentation directory.\r\n\r\nFor every subdirectory you need to add a Directory \r\nentry, come up with a nice ID, add a Component, come \r\nup with an ever nicer GUID, and add a FileGroup element.\r\n\r\nI can think of two ways to ease this process:\r\n\r\n1. A modification to the Wix linker to scan \r\nsubdirectories, create Components on the fly and add \r\nFiles.\r\n2. An extension to the preprocessor to write out the \r\nentries in the XML stream before it reaches the compiler.\r\n3. A stand-alone utility to write the entries in your wxs \r\nfile.\r\n\r\nThe first option will keep your wxs files readable, but the \r\nbig problem with it is that, for every setup package you \r\nbuild, a set of completely \"new\" components will be \r\nincluded in your msi file. I'm not sure whether this will \r\ncause problems with upgrade packages: but I surely \r\nwon't bet the house on it. \r\n[You can invent a mechanism in which the linker \r\ninspects the component ID's of the previously built msi \r\nfile. That brings back some really horrible experiences \r\nwith the \"binary compatibility\" option in Visual Basic 5]\r\n\r\nThe second option would be nice, but it will introduce \r\nsome really bizarre precompiler directives.\r\n\r\nThe third option will bloat your wxs files, but, other than \r\nthat, seems to be the way to go. On a sidenote: this \r\ncan be a very simple tool; I mean, we're talking xml files.\r\n\r\nNice bonus will also be that, some day, someone will feel \r\nthe irresistible urge to add a UI to the tool, and we'll \r\nhave a better Installshield ;)\r\n\n\nbq. Originally opened by @schuur@ from \"http://sourceforge.net/p/wix/feature-requests/5/\":http://sourceforge.net/p/wix/feature-requests/5/"},"comment":{"url":"https://api.github.com/repos/wixtoolset/issues/issues/comments/188102805","html_url":"https://github.com/wixtoolset/issues/issues/15#issuecomment-188102805","issue_url":"https://api.github.com/repos/wixtoolset/issues/issues/15","id":188102805,"user":{"login":"linuxlovell","id":17444121,"avatar_url":"https://avatars.githubusercontent.com/u/17444121?v=3","gravatar_id":"","url":"https://api.github.com/users/linuxlovell","html_url":"https://github.com/linuxlovell","followers_url":"https://api.github.com/users/linuxlovell/followers","following_url":"https://api.github.com/users/linuxlovell/following{/other_user}","gists_url":"https://api.github.com/users/linuxlovell/gists{/gist_id}","starred_url":"https://api.github.com/users/linuxlovell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/linuxlovell/subscriptions","organizations_url":"https://api.github.com/users/linuxlovell/orgs","repos_url":"https://api.github.com/users/linuxlovell/repos","events_url":"https://api.github.com/users/linuxlovell/events{/privacy}","received_events_url":"https://api.github.com/users/linuxlovell/received_events","type":"User","site_admin":false},"created_at":"2016-02-24T06:34:14Z","updated_at":"2016-02-24T06:34:14Z","body":"thanks www.movied.org"}}