Changeset 208 in Main for trunk


Ignore:
Timestamp:
Oct 2, 2024, 11:59:59 AM (6 weeks ago)
Author:
Nishi
Message:

do this instead

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Server/install.nsi

    r206 r208  
    2323LangString WAIT_STOP ${LANG_JAPANESE} "サービスが止まるのを待っています"
    2424
     25!include "x64.nsh"
    2526!include "LogicLib.nsh"
    2627!include "Sections.nsh"
     
    5859        CreateShortcut "$SMPROGRAMS\Tewi HTTPd\Uninstall Tewi HTTPd.lnk" "$INSTDIR\uninstall.exe" ""
    5960
     61        ${If} ${RunningX64}
     62                SetRegView 64
     63        ${Else}
     64                SetRegView 32
     65        ${EndIf}
    6066        WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tewi HTTPd" "DisplayName" "Tewi HTTPd"
    61         WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tewi HTTPd" "InstallDir" '"$INSTDIR"'
     67        WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tewi HTTPd" "InstallDir" "$INSTDIR"
    6268        WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tewi HTTPd" "UninstallString" '"$INSTDIR\uninstall.exe"'
    6369
     
    126132        RMDir /r "$SMPROGRAMS\Tewi HTTPd"
    127133
     134        ${If} ${RunningX64}
     135                SetRegView 64
     136        ${Else}
     137                SetRegView 32
     138        ${EndIf}
    128139        DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Tewi HTTPd"
    129140SectionEnd
  • trunk/Server/main.c

    r206 r208  
    7474#ifdef __MINGW32__
    7575char* get_registry(const char* main, const char* sub) {
    76         DWORD bufsize = 255;
    77         char* value = malloc(256);
    78         int err = RegGetValue(HKEY_LOCAL_MACHINE, main, sub, RRF_RT_ANY, NULL, (void*)value, &bufsize);
     76        DWORD bufsize = 512;
     77        HKEY handle;
     78        char* value = malloc(513);
     79        int err = RegOpenKeyEx(HKEY_LOCAL_MACHINE, main, 0, KEY_QUERY_VALUE, &handle);
    7980        if(err == ERROR_SUCCESS) {
     81                err = RegQueryValueEx(handle, sub, NULL, NULL, value, &bufsize);
     82                if(err != ERROR_SUCCESS) {
     83                        free(value);
     84                        RegCloseKey(handle);
     85                        return NULL;
     86                }
     87                RegCloseKey(handle);
    8088                return value;
    8189        } else {
     
    503511
    504512int main(int argc, char** argv) {
     513        printf("%s\n", get_registry("Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\Tewi HTTPd", "InstallDir"));
    505514        logfile = stderr;
    506515#ifdef SERVICE
  • trunk/installer.sh

    r206 r208  
    2323
    2424make clean || fail
    25 make PLATFORM=$1 PREFIX=C:/srv/Tewi -j4 || fail
     25make PLATFORM=$1 PREFIX=C:/Tewi -j4 || fail
    2626cp Server/tewi.exe tewi.exe
    2727make clean || fail
    28 make PLATFORM=$1-service -j4 PREFIX=C:/srv/Tewi || fail
     28make PLATFORM=$1-service -j4 PREFIX=C:/Tewi || fail
    2929cp Server/tewi.exe tewi-service.exe
    3030cd Server
    31 ../Tool/genconf "C:/srv/Tewi" modules dll > ../generated.conf
     31../Tool/genconf "C:/Tewi" modules dll > ../generated.conf
    3232../Tool/itworks > ../itworks.html
    3333makensis -DVERSION=$VERSION install.nsi
     
    3939
    4040make clean || fail
    41 make PLATFORM=$1 -j4 PREFIX=C:/srv/Tewi|| fail
     41make PLATFORM=$1 -j4 PREFIX=C:/Tewi|| fail
    4242cp Server/tewi.exe tewi.exe
    4343make clean || fail
    44 make PLATFORM=$1-service -j4 PREFIX=C:/srv/Tewi || fail
     44make PLATFORM=$1-service -j4 PREFIX=C:/Tewi || fail
    4545cp Server/tewi.exe tewi-service.exe
    4646cd Server
    47 ../Tool/genconf "C:/srv/Tewi" modules dll > ../generated.conf
     47../Tool/genconf "C:/Tewi" modules dll > ../generated.conf
    4848../Tool/itworks > ../itworks.html
    4949makensis -DVERSION=$VERSION install.nsi
Note: See TracChangeset for help on using the changeset viewer.