You can normally get an installer class to run in a .NET assembly by right-clicking the file in the destination file list (in the Files view), then select Properties and go to the COM & .NET Settings tab. On this tab, check the Installer Class box and click OK (this is available through Express only, Pro/Premier provide this option at a component level).
If this assembly does not implement service installation through an installer class (the service is registered by calling service control manager APIs instead), the Professional or higher editions of InstallShield could be used, as they expose support for MSI service install and service control functionality, in addition to providing abstractions of the SCM APIs through InstallScript. If upgrading is not an option, a custom action could still be used in Express projects to register the service through the SCM.
Josh Stechnij - Software Engineer - Flexera Software: InstallShield Team