I have a MSI that I deliver using Run Options\Application tab.
In the Path to File field I have msiexec.exe
In the Parameters field I have /i %SOURCE_PATH%\file.msi /qn
In the Distribution Options\Distribution Scripts\Run After Distribution
I have:
regsvr32 /s %ProgramFiles%\Program Folder\program.dll
Script Engine Location
I have:
Script extension
I have:

The msi installs the program but does not register the dll.

If I force run the NAL using:
nalwin /a=.applicationobject.container.container /f /h
Then the dll registers and the program is fully functional.

Restarting PC or Refreshing Application Launcher does not fix the problem.

Why does the dll register if I force the NAL using nalwin in Start\Run?

The Associations I have tried are to
User with Force Run and App Launcher
Computer with Force Run and App Launcher
Same results.