You can use NSIS installer too ...
Here is an example (from me)
CODE
Name "YourProjectName"
!define PRODUCT "YourProjectName"
!include "MUI.nsh"
!define HAVE_UPX
!ifdef HAVE_UPX
!packhdr tmp.dat "upx -9 tmp.dat"
!endif
SetCompressor lzma
OutFile "YourOutputSetup.exe"
BRANDINGTEXT "YourProjectName"
InstallDir "$PROGRAMFILES\${PRODUCT}"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!define MUI_ABORTWARNING
!insertmacro MUI_LANGUAGE "French"
Section "section_1" section_1
;Copie des fichiers
SetOutPath "$INSTDIR"
FILE /r "C:\YourFolderToCompress\*.*"
SectionEnd
Section Shortcuts
CreateShortCut "$DESKTOP\YourProjectName.lnk" "$INSTDIR\Main.exe" "switches if you want" "$INSTDIR\icon.exe" 0
SectionEnd
Section Uninstaller
CreateShortCut "$SMPROGRAMS\NameOfTheUninstaller.lnk" "$INSTDIR\NameOfTheUninstaller.exe" "" "$INSTDIR\NameOfTheUninstaller.exe" 0
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\YourProjectName" "DisplayName" "${PRODUCT}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\YourProjectName" "UninstallString" "$INSTDIR\NameOfTheUninstaller.exe"
WriteRegStr HKCU "Software\${PRODUCT}" "" $INSTDIR
WriteUninstaller "$INSTDIR\NameOfTheUninstaller.exe"
SectionEnd
Function un.onUninstSuccess
HideWindow
;Edit message text (succesfully uninstalled ...)
MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) à été désinstallé avec succès"
FunctionEnd
Function un.onInit
;Confirmation of the uninstallation ...
MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Êtes-vous sûr de vouloir désinstaller $(^Name) ?" IDYES +2
Abort
FunctionEnd
Section "Uninstall"
Delete "$DESKTOP\YourProjectName.lnk"
Delete "$SMPROGRAMS\NameOfTheUninstaller.lnk"
Delete "$INSTDIR\*.*"
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\YourProjectName"
RMDir "$INSTDIR"
SectionEnd
;eof
Compil it and your installer is ready