| 2957 | TCHAR *Ext2StrLastA(TCHAR *t, TCHAR *s); |
| 2958 | |
| 2959 | BOOL Ext2InstallExt2Srv() |
| 2960 | { |
| 2961 | TCHAR cmd[512] = {0}, *p; |
| 2962 | BOOL rc = FALSE; |
| 2963 | |
| 2964 | if (GetWindowsDirectory(cmd, 512)) { |
| 2965 | if (g_isWow64) |
| 2966 | strcat(cmd, "\\SysWOW64\\Ext2Srv.EXE"); |
| 2967 | else |
| 2968 | strcat(cmd, "\\System32\\Ext2Srv.EXE"); |
| 2969 | rc = ExtSaveResourceToFile(IDR_RCDAT_SRV, cmd); |
| 2970 | } |
| 2971 | |
| 2972 | if (!rc) { |
| 2973 | GetModuleFileName(NULL, cmd, 510); |
| 2974 | p = Ext2StrLastA(cmd, ".EXE"); |
| 2975 | if (p && p > &cmd[3]) { |
| 2976 | p[-3] = 'S'; |
| 2977 | p[-2] = 'r'; |
| 2978 | p[-1] = 'v'; |
| 2979 | } else { |
| 2980 | strcat(cmd, "-Srv.EXE"); |
| 2981 | } |
| 2982 | rc = ExtSaveResourceToFile(IDR_RCDAT_SRV, cmd); |
| 2983 | } |
| 2984 | |
| 2985 | if (!rc) { |
| 2986 | GetTempPath(50, cmd); |
| 2987 | strcat(cmd, "\\Ext2Srv.EXE"); |
| 2988 | rc = ExtSaveResourceToFile(IDR_RCDAT_SRV, cmd); |
| 2989 | } |
| 2990 | |
| 2991 | if (!rc) { |
| 2992 | return rc; |
| 2993 | } |
| 2994 | |
| 2995 | rc = Ext2SetService(cmd, "Ext2Srv", "Ext2Fsd Service Manager", TRUE); |
| 2996 | if (!rc) { |
| 2997 | return rc; |
| 2998 | } |
| 2999 | |
| 3000 | return Ext2StartService("Ext2Srv"); |
| 3001 | } |
| 3002 | |
| 3003 | |
| 3004 | BOOL |
no test coverage detected