Archive: using BinFileRead (cls) with NSIS


using BinFileRead (cls) with NSIS
Hi all,

I need some advice for something who works good in EXE made with VB6 but doesn't work in EXE made with NSIS.

I've created an installer that gets external parameter and uses it in the installation

the download page (.../download.asp?customer_id=12345) is using BinFileRead class that gets the binary data and replaces the matching string.

However, as I mentioned this works in EXE made with VB6, which looks like this:
=========================
strURL = "77777"
wbBrowser.Navigate "http://.../index.asp?cust_id=" & strURL
=========================
and when I run the 'download.asp' it uses BinFileRead to search and replace the "77777" with the querystring.

But, when I'm doing this with NSIS I created it doesn't work.
The NSIS looks like that:
=================
!define strURL "77777"
.
.
.
Section " -post"
ExecShell "open" '"http://.../index.asp?cust_id=${strURL}"'
Quit
SectionEnd
=================

Any clue what can I do in here?

When I'm printing the binary data in the browser, then in the VB exe I can see full URL and the code has been replaced, but in the NSIS I can't find any.

Thanks for your assistance!


Ok... I'll try different thing :)

Which way is the best to open -> replace string -> save binary data inside EXE made with NSIS?

Means to replace a string on demand while a user downloads the setup.exe

Thanks...


You won't see the original string in an NSIS built executable. Even if you could, changing it would result in the self CRC hashing to fail. You need to append your URL on the end of the executable and then read it using:
http://nsis.sourceforge.net/ReadCustomerData

Stu