- Fixed ComponentText without InstTypes

- Made it impossible to install to non-existing drives/removable drives with no media
- Fixed a crash caused by using a LangString in InstallDir
- No more Windows error message when a registered DLL dependency can't be found


git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@2957 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2003-09-23 19:01:19 +00:00
parent 3988e924f7
commit 6d63dd3a58
6 changed files with 68 additions and 70 deletions

View file

@ -229,21 +229,12 @@ static int NSISCALL ExecuteEntry(entry *entry_)
char *buf1=GetStringFromParm(-0x10);
log_printf3("CreateDirectory: \"%s\" (%d)",buf1,parm1);
{
char *tp=CharNext(buf1);
char *p=buf1;
char c='c';
if (*p) {
if (*(WORD*)tp == CHAR2_TO_WORD(':','\\')) p=tp+2;
else if (*(WORD*)p == CHAR2_TO_WORD('\\','\\'))
{
int x=4;
while (x--)
{
while (*p != '\\' && *p) p=CharNext(p); // skip host then share
p=CharNext(p);
}
}
else break;
p = skip_root(buf1);
if (!p)
break;
while (c)
{
WIN32_FIND_DATA *fd;
@ -767,8 +758,8 @@ static int NSISCALL ExecuteEntry(entry *entry_)
0,
GetStringFromParm(0x00),
IMAGE_BITMAP,
parm2?r.right:0,
parm2?r.bottom:0,
parm2*r.right,
parm2*r.bottom,
LR_LOADFROMFILE
);
hImage = (HANDLE)SendMessage(
@ -924,6 +915,7 @@ static int NSISCALL ExecuteEntry(entry *entry_)
case EW_REGISTERDLL:
{
exec_error++;
SetErrorMode(SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORS);
if (SUCCEEDED(g_hres))
{
HANDLE h;
@ -978,6 +970,7 @@ static int NSISCALL ExecuteEntry(entry *entry_)
update_status_text(LANG_NOOLE,buf1);
log_printf("Error registering DLL: Could not initialize OLE");
}
SetErrorMode(0);
}
break;
#endif