Что хорошая свободная утилита должна создать самораспаковывающийся исполняемый файл со встроенной версией файла? [закрытый]

Как предполагает Марк Кин, .distinctUntilChanged добивается цели.

Таким образом, следующий код будет выдвигать список событий, если после буферизации есть 1+ элементов:

5
задан Community 23 May 2017 в 12:00
поделиться

9 ответов

NSIS может сделать это.

Часть нашей среды сборки является сценарием что выходная информация о версии в файл "заголовка" что наши источники сценария NSIS. Необходимо смочь использовать что-то подобное для встраивания информации о версии, и можно, конечно, заставить NSIS петлять после извлечения.

На самом деле, поскольку NSIS создает пакет установщика..., Вы можете упрощать свой подход много.

4
ответ дан 18 December 2019 в 06:52
поделиться

Немного удивленный, что это еще не перечислено здесь: IExpress является простым инструментом, идущим с Windows, и может использоваться для создания самораспаковывающихся установщиков.

10
ответ дан 18 December 2019 в 06:52
поделиться

При загрузке Windows SDK существует MSIStuff.exe и Setup.exe, для которого MS обеспечивает исходный код для компиляции. MSIStuff "наполнит" MSI, который Вы даете ему в Setup.exe. Setup.exe может затем быть распределен.

Больше информации по http://support.microsoft.com/kb/888473

Недостатки:

  • Необходимо будет перекомпилировать Setup.exe с версией продукта каждый раз, когда существует новая версия продукта (MSI).
  • Не уверенный то, что лицензирует источник Setup.exe, распределяется под.
2
ответ дан 18 December 2019 в 06:52
поделиться

Я на самом деле закончил тем, что использовал NSIS для этого конкретного выпуска, так как я должен был связать некоторые другие установщики также.

Для ссылки вот сценарий, который я использовал:

VIProductVersion              "1.0.0.0" ; set version here
VIAddVersionKey "FileVersion" "1.0.0.0" ; and here!
VIAddVersionKey "CompanyName" "MyCompany"
VIAddVersionKey "LegalCopyright" "© MyCompany"
VIAddVersionKey "FileDescription" "Installer for MyProgram"
OutFile MyProgram-Setup.exe

SilentInstall silent

Section Main    
    SetOutPath $TEMP
    SetOverwrite on
    File SharedManagementObjects.msi
    File SQLSysClrTypes.msi
    File Release\Setup.exe
    File Release\Setup.msi
    ExecWait 'msiexec /passive /i "$OUTDIR\SharedManagementObjects.msi"'
    ExecWait 'msiexec /passive /i "$OUTDIR\SQLSysClrTypes.msi"'
    Exec     '"$OUTDIR\Setup.exe"'
SectionEnd
2
ответ дан 18 December 2019 в 06:52
поделиться

nsis похож на хороший выбор

1
ответ дан 18 December 2019 в 06:52
поделиться

попробуйте inno-установку

установите директиву VersionInfoVersion на свое число версии двоичных файлов, например.

VersionInfoVersion = 1.1.0.0

это появится в тексте наведения мыши и свойствах

1
ответ дан 18 December 2019 в 06:52
поделиться

Происходящий эксперимент здесь:

Раскрывающаяся Информация о версии: http://screencast.com/t/LVqvLfxCj3g

От информации о блоке Visual Studio: http://screencast.com/t/fqunlMNh13

Установленный с простым файлом MSI.

Путем добавления "Версии: 1.5.0" текстов в свойство Description Проекта Установки, номер версии также показывает на файле MSI как так: http://screencast.com/t/A499i6jS

Я обычно просто переименовываю файл MSI, как DataMonkey_1_5_0.msi в моих собственных целях.

1
ответ дан 18 December 2019 в 06:52
поделиться

DotNetZip может создавать самораспаковывающийся архив, который включает номер версии, отображаемый при наведении указателя мыши на проводник Windows. SFX также включает название продукта, описание, версию продукта и информацию об авторских правах, которые отображаются в окне «Свойства / подробности» в проводнике Windows.

SFX может запускать команду, указанную вами после извлечения.

Создание SFX может быть выполнено из сценария Powershell, или вы можете написать программу для этого, используя VB.NET, C #, VBScript или JavaScript, и т. Д.

Чтобы получить информацию о номере версии, вам нужно как минимум DotNetZip v1.9.0.26.

2
ответ дан 18 December 2019 в 06:52
поделиться

Если вы правильно строим хэш, УРЛ щелчок придется поступить от IP-адреса, который запросил сброс. Это потребует MITM для подъема IP и / или фальсифицированных заголовков. Хотя это возможно, тем более уникальнее вы можете идентифицировать ташу рассматриваемой системы, тем сложнее он становится «окончить» хеш.

Также рекомендуется, чтобы GUID быть односторонним хэшем определенных критериев. Также возможно зашифровать системные данные в запросе с использованием открытого ключа, который разблокирует закрытый ключ, чтобы при нажатии URL-адреса эти же публичные зашифрованные системы системы должны сопровождать хеш, а также единственной системой, которая может быть связана с этими ценностями, Частный ключ проводится на сервере. В основном прессование PSuedo-PKi к хэш.

-121--3594976-

FYI Использование самоустрахов DotNetzip не имеет смысла, если вы используете SetStupper Setup.exe для проверки .NET .NET (Self-Extractor Dotnetzip требует .NET 2.0).

0
ответ дан 18 December 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: