Create a custom action within your MSI to run the "sc.exe" command (which is installed on WinXP and newer systems). If you are concerned that sc.exe might not be on the system, then include it in your MSI, in either the binary table, or installed with the product.
After your MSI creates the service, have the custom action run the following (modify for your own user/pass):
sc config the_service_name obj=
thedomain\johndoe password= stackoverflow
However, please note that storing the password directly in the MSI in clear text is an EXTREMELY bad idea.
An easy (and basic) solution is to use the free tool CPAU to encrypt the entire sc command above. You would encrypt this command (using CPAU) from your own system, and then pass this encoded string to CPAU (which you would need to include within your MSI, or install on the system --- in your custom action). CPAU will decode the string you pass in, which will decode to the sc command above, and will more securely set username and password on the service.