Install from uri

Need comments on what this is doing. Maybe make the component ids into constants.