Возвращаемое значение z
будет неопределенным поведением, потому что вы не инициализируете значение переменной x
в этой функции. Возвращаемое значение этой функции будет несовместимым, иногда оно будет 24, иногда это будет другое значение.
Я полагаю, что это - одно из реальных ограничений проекта установки Visual Studio. Необходимо смочь изменить последнюю страницу установки UI, но VS.NET не дает Вам способ сделать это. Вы могли изменить таблицы в.MSI после того, как он был создан, но VS.NET, вероятно, перезапишет эти изменения каждый раз, когда он создается. Вы можете переопределять последнюю страницу с помощью модуля слияния, который Вы включаете в проект установки. Так или иначе необходимо будет познакомиться с тем, как диалоговые окна UI создаются в.MSI, и это не тривиально.
можно хотеть рассмотреть переключение на бесплатный основанный на сценарии установщик или купить коммерческое исходное приложение установки (просто не покупают InstallShield из любви к Pete). Смотрите на InstallAware (хотя я не использовал его).
Я сделал это для внутренних приложений путем создания ремня безопасности Сценария VB, который запускает исполняемый файл установки, ожидает его для закрытия и затем запускает вторую программу.
Вы могли также выполнить это с немного большим количеством полировки с помощью нескольких вызовов API Победы в исполняемом файле C.
Можно использовать MSILAUNCH (хотя я только заставил его работать с MSICREATE).