для меня в случае с Abaqus, так оно и работает. Представьте, что ваш файл - Class_VerticesEdges.py
sys.path.append('D:\...\My Pythons')
if 'Class_VerticesEdges' in sys.modules:
del sys.modules['Class_VerticesEdges']
print 'old module Class_VerticesEdges deleted'
from Class_VerticesEdges import *
reload(sys.modules['Class_VerticesEdges'])
ОБНОВЛЕНИЕ август 2017: Этот очень хороший ответ теперь кажется устаревшим. Также прочитайте другие ответы в "потоке" для некоторых отличающихся "bootstrapper опции".
<час>пакет MSI, созданный Wix, не в состоянии сделать это. Windows Installer скорее ограничен, и одному файлу MSI (Ваш установщик) не позволяют назвать другой файл MSI (установщик Платформы.NET).
необходимо будет создать так называемый bootstrapper (файл setup.exe), который может проверить на указанные предпосылки, загрузить и установить их по мере необходимости, и затем запускает установщик MSI.
Одним способом создать bootstrapper является при помощи Visual Studio или задачи MSBuild GenerateBootstrapper. Вот ссылка, предоставляющая больше подробную информацию:
, Если Вы только хотите предоставить единственный установщик своим пользователям, Вы могли бы хотеть создать саморасширяющийся пакет установки, содержащий и файл setup.exe и Ваш пакет MSI. Вы могли сделать это с iexpress, который идет с Windows.
Вот другая ссылка, дающая пример: http://www.clariusconsulting.net/blogs/pga/comments/42831.aspx
Wix будет содержать собственный загрузчик под названием burn. Взгляните на: http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn
DotNetInstaller также рекомендуется многими разработчиками как хороший и надежный бутстраппер.
UPDATE: обновлен URL на DotNetInstaller, август 2017 г.