@@ -409,27 +409,191 @@ function bundleMac(dir, nodeBin) {
409409 */
410410function getDependenciesWinRecursive ( dllPath , searchPaths = [ ] , excludeSystemDlls = true , visited = new Set ( ) ) {
411411 // Windows system DLLs that should NOT be bundled (always available on Windows)
412+ // Strategy: Only bundle DLLs from the hamlib distribution directory, exclude everything from C:\Windows
412413 const systemDllPatterns = [
414+ // Core Windows DLLs
413415 / ^ k e r n e l 3 2 \. d l l $ / i,
416+ / ^ k e r n e l b a s e \. d l l $ / i,
414417 / ^ u s e r 3 2 \. d l l $ / i,
415418 / ^ a d v a p i 3 2 \. d l l $ / i,
416419 / ^ w s 2 _ 3 2 \. d l l $ / i,
417420 / ^ w i n m m \. d l l $ / i,
418421 / ^ m s v c r t \. d l l $ / i,
419- / ^ m s v c p \d + \. d l l $ / i, // MSVC C++ runtime
420- / ^ v c r u n t i m e \d + \. d l l $ / i, // Visual C++ runtime
421- / ^ u c r t b a s e \. d l l $ / i, // Universal CRT
422+ / ^ m s v c p \d + . * \. d l l $ / i, // MSVC C++ runtime (any version)
423+ / ^ v c r u n t i m e \d + \. d l l $ / i, // Visual C++ runtime
424+ / ^ u c r t b a s e \. d l l $ / i, // Universal CRT
422425 / ^ a p i - m s - w i n - .* \. d l l $ / i, // API sets
426+ / ^ e x t - m s - .* \. d l l $ / i, // Extension API sets
427+
428+ // COM/OLE
423429 / ^ o l e 3 2 \. d l l $ / i,
424430 / ^ o l e a u t 3 2 \. d l l $ / i,
431+ / ^ c o m b a s e \. d l l $ / i,
432+
433+ // Graphics/UI
425434 / ^ s h e l l 3 2 \. d l l $ / i,
426435 / ^ g d i 3 2 \. d l l $ / i,
436+ / ^ u s e r 3 2 \. d l l $ / i,
437+ / ^ w i n 3 2 u \. d l l $ / i,
438+ / ^ d x g i \. d l l $ / i,
439+ / ^ d 2 d 1 \. d l l $ / i,
440+ / ^ d 3 d \d + .* \. d l l $ / i, // DirectX (d3d11, d3d12, etc)
441+ / ^ d c o m p \. d l l $ / i,
442+
443+ // System services
427444 / ^ n t d l l \. d l l $ / i,
428445 / ^ s e t u p a p i \. d l l $ / i,
429446 / ^ c f g m g r 3 2 \. d l l $ / i,
430447 / ^ b c r y p t \. d l l $ / i,
448+ / ^ b c r y p t p r i m i t i v e s \. d l l $ / i,
431449 / ^ s e c h o s t \. d l l $ / i,
432450 / ^ r p c r t 4 \. d l l $ / i,
451+ / ^ s s p i c l i \. d l l $ / i,
452+
453+ // Networking
454+ / ^ i p h l p a p i \. d l l $ / i,
455+ / ^ n s i \. d l l $ / i,
456+ / ^ w i n n s i \. d l l $ / i,
457+ / ^ d h c p c s v c .* \. d l l $ / i,
458+ / ^ d n s a p i \. d l l $ / i,
459+ / ^ w i n h t t p \. d l l $ / i,
460+ / ^ w i n i n e t \. d l l $ / i,
461+ / ^ w e b i o \. d l l $ / i,
462+ / ^ w e b s o c k e t \. d l l $ / i,
463+ / ^ h t t p a p i \. d l l $ / i,
464+ / ^ f i r e w a l l a p i \. d l l $ / i,
465+ / ^ f w b a s e \. d l l $ / i,
466+ / ^ f w p o l i c y i o m g r \. d l l $ / i,
467+
468+ // Security/Crypto
469+ / ^ c r y p t 3 2 \. d l l $ / i,
470+ / ^ c r y p t b a s e \. d l l $ / i,
471+ / ^ c r y p t s p \. d l l $ / i,
472+ / ^ c r y p t n e t \. d l l $ / i,
473+ / ^ c r y p t x m l \. d l l $ / i,
474+ / ^ c r y p t d l l \. d l l $ / i,
475+ / ^ c r y p t n g c \. d l l $ / i,
476+ / ^ c r y p t t p m e k s v c \. d l l $ / i,
477+ / ^ n c r y p t \. d l l $ / i,
478+ / ^ n t a s n 1 \. d l l $ / i,
479+ / ^ m s a s n 1 \. d l l $ / i,
480+ / ^ d p a p i \. d l l $ / i,
481+ / ^ w i n t r u s t \. d l l $ / i,
482+ / ^ a u t h z \. d l l $ / i,
483+ / ^ s c h a n n e l \. d l l $ / i,
484+ / ^ t o k e n b i n d i n g \. d l l $ / i,
485+
486+ // Windows components
487+ / ^ c a b i n e t \. d l l $ / i,
488+ / ^ p r o f a p i \. d l l $ / i,
489+ / ^ u s e r e n v \. d l l $ / i,
490+ / ^ n e t a p i 3 2 \. d l l $ / i,
491+ / ^ n e t u t i l s \. d l l $ / i,
492+ / ^ s a m l i b \. d l l $ / i,
493+ / ^ s a m s r v \. d l l $ / i,
494+ / ^ s a m c l i \. d l l $ / i,
495+ / ^ l s a s r v \. d l l $ / i,
496+ / ^ l s a a d t \. d l l $ / i,
497+ / ^ n e t l o g o n \. d l l $ / i,
498+ / ^ l o g o n c l i \. d l l $ / i,
499+ / ^ w l d a p 3 2 \. d l l $ / i,
500+ / ^ d s r o l e \. d l l $ / i,
501+ / ^ d s p a r s e \. d l l $ / i,
502+ / ^ d s c l i e n t \. d l l $ / i,
503+ / ^ d s r e g \. d l l $ / i,
504+ / ^ n t d s a p i \. d l l $ / i,
505+ / ^ w 3 2 t o p l \. d l l $ / i,
506+
507+ // Windows UI/Shell
508+ / ^ s h c o r e \. d l l $ / i,
509+ / ^ m p r \. d l l $ / i,
510+ / ^ p r o p s y s \. d l l $ / i,
511+ / ^ i c u \. d l l $ / i,
512+ / ^ u r l m o n \. d l l $ / i,
513+ / ^ i e r t u t i l \. d l l $ / i,
514+
515+ // Debugging/Error reporting
516+ / ^ d b g h e l p \. d l l $ / i,
517+ / ^ d b g e n g \. d l l $ / i,
518+ / ^ d b g m o d e l \. d l l $ / i,
519+ / ^ i m a g e h l p \. d l l $ / i,
520+ / ^ w e r \. d l l $ / i,
521+ / ^ f a u l t r e p \. d l l $ / i,
522+
523+ // Device/Driver management
524+ / ^ c l d a p i \. d l l $ / i,
525+ / ^ f l t l i b \. d l l $ / i,
526+ / ^ d e v o b j \. d l l $ / i,
527+ / ^ d e v r t l \. d l l $ / i,
528+ / ^ s e t u p c l \. d l l $ / i,
529+ / ^ d r v s t o r e \. d l l $ / i,
530+
531+ // Windows features
532+ / ^ t w i n a p i \. .* \. d l l $ / i,
533+ / ^ c o r e m e s s a g i n g \. d l l $ / i,
534+ / ^ c o r e u i c o m p o n e n t s \. d l l $ / i,
535+ / ^ w e b s e r v i c e s \. d l l $ / i,
536+ / ^ e s e n t \. d l l $ / i,
537+ / ^ w e v t a p i \. d l l $ / i,
538+ / ^ v a u l t c l i \. d l l $ / i,
539+ / ^ c r e d u i \. d l l $ / i,
540+ / ^ w e b a u t h n \. d l l $ / i,
541+ / ^ n o i s e \. d l l $ / i,
542+ / ^ h i d \. d l l $ / i,
543+
544+ // Windows management/policy
545+ / ^ w l d p \. d l l $ / i,
546+ / ^ p o l i c y m a n a g e r .* \. d l l $ / i,
547+ / ^ m d m r e g i s t r a t i o n \. d l l $ / i,
548+ / ^ d m c m n u t i l s \. d l l $ / i,
549+ / ^ d m e n r o l l e n g i n e \. d l l $ / i,
550+ / ^ o m a d m a p i \. d l l $ / i,
551+ / ^ e d p .* \. d l l $ / i,
552+ / ^ e f s .* \. d l l $ / i,
553+ / ^ f v e .* \. d l l $ / i,
554+ / ^ t p m .* \. d l l $ / i,
555+ / ^ n g c .* \. d l l $ / i,
556+ / ^ p o p k e y c l i \. d l l $ / i,
557+ / ^ b c d \. d l l $ / i,
558+ / ^ t b s \. d l l $ / i,
559+ / ^ v b s a p i \. d l l $ / i,
560+ / ^ v i r t d i s k \. d l l $ / i,
561+ / ^ p c r p f \. d l l $ / i,
562+ / ^ s r p a p i \. d l l $ / i,
563+ / ^ n r t a p i \. d l l $ / i,
564+
565+ // Windows enterprise/domain
566+ / ^ k e r b \d + \. d l l $ / i,
567+ / ^ g m s a c l i e n t \. d l l $ / i,
568+ / ^ w k s c l i \. d l l $ / i,
569+ / ^ s r v c l i \. d l l $ / i,
570+
571+ // Windows performance/diagnostics
572+ / ^ w i n d o w s p e r f o r m a n c e r e c o r d e r c o n t r o l \. d l l $ / i,
573+ / ^ d i a g n o s t i c d a t a s e t t i n g s \. d l l $ / i,
574+ / ^ u m p d c \. d l l $ / i,
575+ / ^ r m c l i e n t \. d l l $ / i,
576+
577+ // Windows misc
578+ / ^ a e p i c \. d l l $ / i,
579+ / ^ b c p 4 7 l a n g s \. d l l $ / i,
580+ / ^ m s v c p 1 1 0 _ w i n \. d l l $ / i,
581+ / ^ i r i \. d l l $ / i,
582+ / ^ d m p u s h p r o x y \. d l l $ / i,
583+ / ^ d e c l a r e d c o n f i g u r a t i o n \. d l l $ / i,
584+ / ^ d m x m l h e l p u t i l s \. d l l $ / i,
585+ / ^ u n e n r o l l h o o k \. d l l $ / i,
586+ / ^ e n t e r p r i s e r e s o u r c e m a n a g e r \. d l l $ / i,
587+ / ^ x m l l i t e \. d l l $ / i,
588+ / ^ .* t y p e h e l p e r u t i l \. d l l $ / i,
589+ / ^ c o n t a c t a c t i v a t i o n \. d l l $ / i,
590+ / ^ c e r t c a \. d l l $ / i,
591+ / ^ c e r t e n r o l l \. d l l $ / i,
592+ / ^ w i n b r a n d \. d l l $ / i,
593+ / ^ w i n i p c f i l e \. d l l $ / i,
594+ / ^ w i n m s i p c \. d l l $ / i,
595+ / ^ w u c e f f e c t s \. d l l $ / i,
596+ / ^ m i c r o s o f t \. i n t e r n a l \. .* \. d l l $ / i,
433597 ] ;
434598
435599 const dllName = path . basename ( dllPath ) . toLowerCase ( ) ;
0 commit comments