Archive: two tutorials please?


two tutorials please?
Hi Im still a novice nsis user , and have relied on the HM NIS EDIT wizard , to generate my intial install scripts , I normally edit them there after , by adding other files to the installer and paths etc.. I have looked at the documentation that came with nsis but i find most of the examples extremley un-informative to a new learner , eg..

i what to install another app that handles sync with outlook express with my application named redemption, so i manged to get this going with this script:

Section SECOUTLOOK
ExecWait '"$INSTDIR\Install.exe"'
SectionEnd

but the splash screen is very ugly, and i have read redemptions site saying it is possible to mark the redemption dll as self registering .. so i searched the nsis documetation for a means to do this, and the best i found was InstallLib macro as this dll is reffered to as a library on the site ..

so nsis documentation gives me:

libtype shared install localfile destfile tempbasedir

so libtype i presume is:
REGDLLTLB/as per choices available this seems to be what i would need.

shared:
I think it is shared so documentation states i need:
$VARNAME/is this the exact variable name needed or can it be anything?? what do i set this value to??

IM also keen to learn about the registry writing that is been performed ..

!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\pps.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
//
//
other content here......
//
//
followed by some post writing:

Section -Post
WriteUninstaller "$INSTDIR\uninst.exe"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\pps.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\pps_final.ico"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd

why is there no break down of this build been generated??
and what each item is, and what its purpose is??

Im going to end my rant here , if some experienced nsis users/moderators read this .. please give me links to better tutorials, i hate somebody just telling me how to do it, whats the point of that .. it need explanations for the AI to become my own logic i can apply.

If there is no other documentation and someone has the time to explain the above two scenarios .. it would be appriciated


Thanks


InstallLib can install DLL files that might be in use and handle everything automatically. If you need to install a DLL to your application's directory that'd be used only by your application, RegDLL would be enough. If InstallLib is what you need, REGDLL and non-shared is probably what you're looking for. Most DLL files don't contain type-libraries (TLB) and it sounds like your DLL is only for your program so it's not shared.

I don't understand your second question. What do you want to write to the registry? Just a string? You can use WriteRegStr for that. It's in the documentation and the Wiki, forums and web contain hundreds of usage examples.