是否可以为简单的.exe(控制台应用程序)创建一个安装程序,要求将参数传递给快捷方式?
我的应用程序需要有“源路径”和“目标路径”以及第三个可选参数...
我真的不知道我要在谷歌寻找什么(英文单词)。
另外,我需要将此快捷方式放在Startup中,这可能吗?
我看了一下nsis和高级安装程序,他们似乎不允许这个选项。
修改
我想要的是,在安装过程中,向用户询问一个问题是什么。根据哪个用户,参数将是不同的。
我也在寻找免费的东西,因为我可能永远不会再使用它了......
答案 0 :(得分:0)
您可以使用nsDialogs plug-in:
在NSIS中创建自定义对话框OutFile "mysetup.exe"
RequestExecutionLevel admin
InstallDir "$ProgramFiles\MyApp"
Page Custom CustomShortcutPageCreate CustomShortcutLeave
Page InstFiles
!include nsDialogs.nsh
Var ShortcutParameter
Function CustomShortcutPageCreate
nsDialogs::Create 1018
Pop $0
${NSD_CreateLabel} 0 10u 100% 12u "Please enter the shortcut parameter"
Pop $0
${NSD_CreateText} 0 30u 100% 12u ""
Pop $9
nsDialogs::Show
FunctionEnd
Function CustomShortcutLeave
${NSD_GetText} $9 $ShortcutParameter
FunctionEnd
Section
SetOutPath $InstDir
File MyApp.exe
SectionEnd
Section
CreateDirectory "$SMStartup" ; Make sure the folder exists just in case the user has "cleaned" their start menu
CreateShortcut "$SMStartup\MyApp.lnk" "$InstDir\MyApp.exe" $ShortcutParameter
SectionEnd
答案 1 :(得分:0)
我想您使用的是C#和Microsoft Visual Studio。 在这种情况下,您可以使用NSIS和Inno Setup来创建安装程序。
将任何Visual Studio版本与 Visual&安装程序扩展程序(https://visualstudiogallery.msdn.microsoft.com/5e57fe9a-ae5d-4740-a1c3-7a8e278e105b)
上面提到的NSIS示例在其中完美运行(也类似于Inno安装代码)。
答案 2 :(得分:-1)
使用永久免费的Simple project type from Advanced Installer,您可以在2分钟内创建shortcut with custom arguments。
只需在编辑快捷方式属性的对话框中设置参数字段中所需的参数,如下所示:
我不明白你想如何自定义第三个参数。你能举出更多细节吗?
在参数字段中,您可以设置此类 [MY_CUSTOM_ARG] 等属性,并在安装时将属性的值解析为自定义值(当然,之前,快捷方式已安装)。
编辑使用免费/简易版的Advanced Installer,您无法自定义对话框,您只能使用对话框页面中提供的预定义对话框之一。
Dialogs Editor可作为Advanced Installer的商业企业版的一项功能。
免费的开源替代方案是使用Wix工具集,但是,如果您从未使用它,学习曲线可能很陡。