Am 21.05.2010 01:34, schrieb Hin-Tak Leung:
> --- On Thu, 20/5/10, Matijn Woudt <[email protected]> wrote:
> 
>>>> * On Tue, 18 May 2010, Hin-Tak Leung wrote:
>>>>>
>>>>> So it seems that setupgs.exe is mis-compiled
>> under wine with win7 sdk but
>>>>> just happened to also work under wine. Any
>> idea how it might happen?
> 
>>> I have gone ahead and done exactly that - the correct
>> behavior should be a
>>> msg box saying filelist.txt is missing, rather than
>> setupgs.exe not a valid
>>> win32 application.
>>>
>>> http://www.ghostscript.com/~hintak/setupgs-vista.exe
>>> http://www.ghostscript.com/~hintak/setupgs-wine.exe
>>>
>>> I haven't tried the uninstaller yet, so I don't know
>> if the wine-built
>>> uninstaller work:
>>>
>>> http://www.ghostscript.com/~hintak/uninstgs-vista.exe
>>> http://www.ghostscript.com/~hintak/uninstgs-wine.exe
>>>
>>> To analyse the executables are a bit beyond me, but I
>> hope somebody can do
>>> that.
>>>
>>> under either system, if I compile the file twice
>> quickly, the result differs
>>> only by the datestamp and checksum (and in two
>> wine-compiled executable
>>> built a bit of time between , also a few bytes in the
>> .text section after
>>> what looks like an import table in a hex editor?
>>>
>>>
>>
>> There are a few differences I spotted between the two
>> executables:
>> 1) setupgs-wine.exe has wrong image size, changing it from
>> 0x2b200 to
>> 0x2b000 makes the executable working under win7.
>> 2) setupgs-wine.exe has wrong resource size, probably
>> related to 1),
>> because the size of both executables are the same.
>> 3) The assembly in setupgs-wine.exe has only LF line
>> endings, vista
>> has CRLF. This explains 2).
>>
>> I don't know the reason for 3), I assume it's a bug
>> somewhere in wine.
> 
> I tried uninstgs-wine.exe and it is also broken. What's more, the executable 
> is of a different size. I am thinking 2 and 3 are probably red herrings, 
> although it is curious how it happens. (I git-archive under unix and use 
> winzip to extract them, so the manifests are the same, and have unix line 
> endings.)
> 
> The ghostscript distribution has other executables besides setupgs.exe and 
> uninstgs.exe (for install and uninstall), but only those two seem to be 
> broken. Those two are also different in having been manipulated through mt. 
> Could the running of mt be buggy?
> 
> mt -nologo -manifest $(PSSRC)dwsetup_x64.manifest 
> -outputresource:$(SETUP_XE);#1
>  
> I have tried re-running mt on either a built executable or vista-compiled 
> ones, but there are no modification. perhaps I don't understand what it does 
> and how it does its work.
> 
compile your setupgs in wine but without the "mt-step" and try running it on 
vista.
if mt breaks the PE file then submit a bug report describing wrong behavior of 
mt.

-- 

Best Regards, André Hentschel


Reply via email to