{"action":"opened","issue":{"url":"https://api.github.com/repos/commontk/ctk-cli/issues/1","labels_url":"https://api.github.com/repos/commontk/ctk-cli/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/commontk/ctk-cli/issues/1/comments","events_url":"https://api.github.com/repos/commontk/ctk-cli/issues/1/events","html_url":"https://github.com/commontk/ctk-cli/issues/1","id":128782300,"number":1,"title":"Slicer extensions may depend on Slicer, but not lie in the Slicer directory","user":{"login":"hmeine","id":462802,"avatar_url":"https://avatars.githubusercontent.com/u/462802?v=3","gravatar_id":"","url":"https://api.github.com/users/hmeine","html_url":"https://github.com/hmeine","followers_url":"https://api.github.com/users/hmeine/followers","following_url":"https://api.github.com/users/hmeine/following{/other_user}","gists_url":"https://api.github.com/users/hmeine/gists{/gist_id}","starred_url":"https://api.github.com/users/hmeine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hmeine/subscriptions","organizations_url":"https://api.github.com/users/hmeine/orgs","repos_url":"https://api.github.com/users/hmeine/repos","events_url":"https://api.github.com/users/hmeine/events{/privacy}","received_events_url":"https://api.github.com/users/hmeine/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-26T10:20:55Z","updated_at":"2016-01-26T10:20:55Z","closed_at":null,"body":"On Windows, I am trying to detect the presence of Slicer.exe relative to the CLI executable, in order to use it as wrapper (i.e., `Slicer.exe --launch --launcher-no-splash path_to_real_cli.exe ...`).  However, Slicer may nowadays also put extensions under paths like `%AppData%\\Roaming\\NA-MIC\\Extensions-24735`.  This way, my code for detecting relative paths to `Slicer.exe` fails, and e.g. the ChestImagingPlatform CLIs do not run because of missing ITK DLLs.\r\n\r\nI see two main options:\r\n\r\n1. Configuring the path to Slicer, which would be necessary then in all environments – remember that while I developed this for MeVisLab integration, all other callers would have to pass along the Slicer path as well.\r\n2. Auto-detecting `%AppData%\\Roaming\\NA-MIC\\Extensions-[0-9]*` to be a Slicer-path, and locating any installed Slicer in a default location on that machine.  I don't know how reliable that would be, e.g. whether I can use `os.environ[\"ProgramFiles\"]` to locate Slicer).\r\n\r\nIn both cases, it would be hard to guarantee that the correct Slicer version is found and used for all CLIs."}}