将配置直接添加到C#程序集中
我需要开发一些应用程序,它将作为一个可执行文件分发给用户。用户应该点击一些按钮,如“下载”,并获得exe文件,然后他执行它,并上传结果回我的网站。应用程序不应该包含任何安装程序或类似的东西,只需运行一次并获得结果 我的应用程序有一个像“myapp.exe”这样的主可执行文件和几个数据文件,这取决于当前用户。现在我必须生成SFX zip存档,其中包含myapp.exe、数据文件和当前用户配置。当用户单击“下载”时,我将用户数据添加到存档中并提供给用户 问题是SFX归档文件非常枯燥,很难维护。我不能改变它的接口,我只能使用一个或两个zip库来创建SFX arxhives将配置直接添加到C#程序集中,c#,.net,zip,C#,.net,Zip,我需要开发一些应用程序,它将作为一个可执行文件分发给用户。用户应该点击一些按钮,如“下载”,并获得exe文件,然后他执行它,并上传结果回我的网站。应用程序不应该包含任何安装程序或类似的东西,只需运行一次并获得结果 我的应用程序有一个像“myapp.exe”这样的主可执行文件和几个数据文件,这取决于当前用户。现在我必须生成SFX zip存档,其中包含myapp.exe、数据文件和当前用户配置。当用户单击“下载”时,我将用户数据添加到存档中并提供给用户 问题是SFX归档文件非常枯燥,很难维护。我不能
是否有任何方法可以使用另一个容器或将用户数据“动态”打包到我的实用程序的资源中?我一直在为一个应用程序这样做,在这个应用程序中,我需要在不要求任何凭据的情况下识别它是哪个用户。基本上,某种令牌在下载之前捆绑在应用程序中,然后发送到服务器 根据我的发现,有两种方法:
- 使用:构建XML,调用candle+light,发送到客户端
- 制作单个MSI,并在将其发送到客户端之前
byte[] userData = ...;
EmbeddedResource resource = new EmbeddedResource("UserData", ManifestResourceAttributes.Public, userData);
assembly.MainModule.Resources.Add(resource);
然后,您可以使用和读取添加/修改的资源(运行时,下载后)。而不知道用户配置可能包含什么,或者数据文件是否不同。但是为什么不让可执行文件在第一次运行时生成这些文件呢?也许在数据库中维护用户数据,应用程序可以检索用户特征并生成文件。这既灵活又简单。应用程序应该完全离线,用户数据只在服务器端知道。服务器应该提供应用程序使用的所有数据。然后应用程序应该处理这些数据和用户桌面,并提供结果。然后用户手动将其上传回站点。与此相关的还有其他一些限制,但进行此类应用是解决主要问题的唯一途径。