Changeset 208 in Main for trunk/Server


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

do this instead

Location:
trunk/Server
Files:
2 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
Note: See TracChangeset for help on using the changeset viewer.