Сообщество программистов Autodesk в СНГ
ADN Club => AutoCAD .NET API => Тема начата: zavor от 15-09-2015, 13:31:15
-
Разрабатываю сейчас проект в акаде. Проект включает в себя как .lsp файлы, так и .dll файлы. После того как я вношу какие-то изменения в файлы проекта, я проект перекомпилирую, затем собираю приложения и создаю установочники через inno setup. До этого я только поправлял файлы, не создавал новых. А теперь пришлось добавить .dll, но не знаю как его добавить так, что бы при установке .exe файлов, созданных с помощью inno setup, новые файлы были в проекте
-
Приветствую на форуме!
Что-то я не понял. Это вопрос по добавлению dll-файлов в inno setup? Тогда какое он имеет отношение к разделу AutoCAD .NET API?
И тогда тебе нужно этот вопрос задавать на форуме InnoSetup или пользоваться альтернативой - автозагрузкой приложений в AutoCAD.
-
Аа, ну я кажется разобрался уже) И правда не туда написал , но проблему уже решил )
-
И правда не туда написал , но проблему уже решил )
Это хорошо! Главное задать вопрос. Если ты смог его сформулировать, то половина решения уже у тебя в кармане. :)
-
собираю приложения и создаю установочники через inno setup
А точно нужно inno setup?
В некоторых случаях можно использовать winrar.
Давно тоже использовал nsis и inno setup.
Там были кое-какие ограничения на работу скриптов.
Нельзя было сделать что-то типа - считать список подветок реестра, проанализировать и записать в нужные.
...ну вобщем пишу не об этом.
Админы показали альтернативу инсталляторам в виде использования WINRAR.
Можно запаковать dll, lisp и т.д. в исполняемый SFX архив .
Забить путь распаковки,например "C:\Programm files\MySoft" (если распаковка файлов по разным путям, тогда winrar не подойдет)
И после распаковки winrar указать какой файл запустить.
Запускаемый файл можно сделать как-раз для записи в реестр и т.д.
И написать можно на знакомом языке, не углубляясь в язык инсталляторов.
Скорее всего winrar позволит запустить скрипты cmd и vbs.
Файлы также легко обновить внутри архива. Правая клавиша - "Открыть в winrar"
заменяете файлы в окошке winrar перетаскиванием.
Можно сменить иконку и добавить комментарий отображаемый при установке.
Все, простой изменяемый инсталлятор готов)
-
Зависит от того зачем нужен инсталятор, если распространять через AD нет необходимости, то можно и в 7zip сделать архив sfx в виде exe с нужными параметрами, действиями и иконкой - денег не просит.
-
Зависит от того зачем нужен инсталятор, если распространять через AD нет необходимости, то можно и в 7zip сделать архив sfx в виде exe с нужными параметрами, действиями и иконкой - денег не просит.
Ну я так и написал "В некоторых случаях"
Насчет AD и winrar не пробовал, но возможно в WINRAR предусмотрено отключение запросов у пользователя, для распространения через AD.
Там есть вкладка "дополнительно/параметры SFX" в которой еще много настроек.
-
"C:\Programm files\MySoft"
А переменные среды можно использовать?
-
А переменные среды можно использовать?
Насколько я помню - нет. Можешь глянуть описание и примеры: http://en.helpdoc-online.com/winrar_4/source/html/helpguisfxscript.htm
Когда-то лет 20 назад я пользовался WinRar'ом для создания простейших инсталляторов.
-
Wix. (http://wixtoolset.org/)
Wix Tutorial. (https://www.firegiant.com/wix/tutorial/)
-
А переменные среды можно использовать?
Насколько я помню - нет
Вроде можно, попробовал так
%USERPROFILE%\AppData\Local\Temp
работает
...у меня почему-то авторы не правильно указались при цитировании выделенного.
Сдвинулись на 1ого, а текст нормально. Что-то не так кликаю?
-
Дмитрий Привалов, не нужно присваивать мне чужих цитат. :) Автора ты можешь вручную переписать в редакторе.
-
...у меня почему-то авторы не правильно указались при цитировании выделенного.
Сдвинулись на 1ого, а текст нормально. Что-то не так кликаю?
Выбрал Цитировать (выделенное) не на том сообщении. Бывает.
Вроде можно, попробовал так
%USERPROFILE%\AppData\Local\Temp
работает
Так 20 лет прошло. Возможно и поменяли. В описании этого нет.
-
Выбрал Цитировать (выделенное) не на том сообщении. Бывает.
Да точно, кнопочка цитировать выделенное и выделенный текст живут различной жизнью.
Тыкал ближайшую к курсору, по не знанию.
Так 20 лет прошло. Возможно и поменяли. В описании этого нет.
В описании и сейчас не нашел про переменные.
...предполагаю, что в WINRAR ничего особо не меняли.
WINAPI в windows XP-10, скорее всего сам подменяет переменные типа %USERPROFILE% в строках путей, независимо от программ, а 20 лет назад WINAPI в windows 95-98 мог этого не делать.
-
WINAPI в windows XP-10, скорее всего сам подменяет переменные типа %USERPROFILE% в строках путей, независимо от программ
Проверь. Думаю что ничего подобного нет. Напоминаю, что для открытия файлов в Win API используется функция CreateFile: https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858%28v=vs.85%29.aspx
Для того, чтобы выполнить подстановку в Win API используется функция ExpandEnvironmentStrings: https://msdn.microsoft.com/en-us/library/ms724265.aspx
Не думаю, что она стала вызываться автоматически.
-
Проверь. Думаю что ничего подобного нет.
Да действительно нет.
string directoryName = @"%USERPROFILE%\AppData\Local\Temp";
string[] files = Directory.GetFiles(directoryName, "*", SearchOption.AllDirectories);
Код вызывает - Необработанное исключение типа "System.IO.DirectoryNotFoundException"
Предварительно нужно обработать переменные "вручную"
var tmp = Environment.GetEnvironmentVariable("USERPROFILE");
или автоматом, через ExpandEnvironmentVariables
string directoryName = @"%USERPROFILE%\AppData\Local\Temp";
string trueWay = Environment.ExpandEnvironmentVariables(directoryName);
string[] files = Directory.GetFiles(trueWay, "*", SearchOption.AllDirectories);