Возникли проблемы с автоматизацией открытия файла, отличного от exe, с помощью INNO Setup и Shellexec.

Я провел значительное количество поисков решения того, что я считаю очень простым ответом. Я очень начинающий пользователь INNO Setup, поэтому, пожалуйста, извините за вопрос.

У меня есть файл Excel, который я хочу открыть после установки. Процесс установки работает нормально, однако я не могу автоматически запустить файл Excel после завершения установки. Насколько я понимаю, ShellExec используется для запуска файлов, отличных от exe, однако я считаю, что эта строка неверна. Любая помощь будет принята с благодарностью. Вот фрагменты кода, которые, как мне кажется, применимы к этой проблеме.

#define MyAppName "MyApplication"
#define MyAppExeName "MyApplication.xlsm"

[Setup]
AppName={#MyAppName}
DefaultDirName={pf}\{#MyAppName}
OutputDir=C:\Documents and Settings\Test\Desktop
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes

[Files]
Source: "C:\\MyApplication.xlsm"; DestDir: "{app}"; Flags: ignoreversion

[ShellExec]
Shellexec('',{#MyAppExeName},'','',SW_HIDE,ewWaitUntilTerminated,ResultCode) 

Спасибо, что нашли время, чтобы помочь мне в этом вопросе.


person ExcelForFreelancers    schedule 02.06.2013    source источник
comment
Сначала нет раздела [ShellExec]. Этот раздел, вероятно, будет создан каким-то внешним инструментом. Что бы я сделал, если этот файл Excel представляет собой документ, содержащий примечания для чтения, просто добавьте флаг isreadme в конец записи раздела [Files]. Это создаст флажок View readme на последней странице мастера и, конечно же, откроет файл, если этот флажок установлен.   -  person TLama    schedule 02.06.2013
comment
Спасибо за предложение, однако мне действительно нужно, чтобы это открывалось как Excel, так как это полноценное приложение с макросами и несколькими листами.   -  person ExcelForFreelancers    schedule 02.06.2013
comment
Я не понимаю вашего примечания, файлы readme также должны открываться в оболочке.   -  person TLama    schedule 03.06.2013
comment
Возможно, это правда, однако мне не нужно открывать файл Readme, мне нужно открыть файл «.xlsm». Хотя я понял, что Shellex был правильным путем, у меня все еще не было правильного кода ShellExec, который использовался для открытия файла, пока @Miral не предоставил правильный код. Спасибо за ваш вклад.   -  person ExcelForFreelancers    schedule 03.06.2013
comment
Я просто хотел сказать, что если вы хотите иметь файл MP3, я не знаю, в качестве аудиофайла для чтения, поставьте флаг isreadme в запись [Files]. В конце установки вы увидите флажок View readme, который, если вы оставите его включенным, откроет файл с соответствующей программой. Ни больше, ни меньше ;-)   -  person TLama    schedule 03.06.2013
comment
Ах, хорошо, теперь я понимаю, о чем вы говорите (извините за недостаток знаний, я впервые работаю с INNO). Поэтому, если я использую флаг isreadme, он откроет файл, независимо от его формата, если установлен флажок View readme. В этом есть смысл. Однако то, что запускается, является фактической программой. Параметр [Выполнить] дает мне опцию «Запустить программу сейчас», что на самом деле мне нужно, поскольку файл Excel является программой. Еще раз спасибо, что нашли время, чтобы объяснить мне это.   -  person ExcelForFreelancers    schedule 03.06.2013


Ответы (1)


[Run]
Filename: {app}\{#MyAppExeName}; Description: Run {#MyAppName}; Flags: postinstall shellexec

Замените свой раздел [ShellExec] (который не распознается компилятором, поэтому будет просто проигнорирован) на указанный выше.

person Miral    schedule 02.06.2013
comment
Отлично. Спасибо огромное. Работал отлично. - person ExcelForFreelancers; 03.06.2013