473,495 Members | 2,128 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Single Exe - No install program - Storing Settings

Hi,

I have been asked to create a solution in a single exe - using C# .NET 3.5.

I have found that I can us ILMerge to create a single exe of all of my
Application assemblies.

But my question is what to do about settings/config?

I have some settings should be settings which should be shared between
instances of the application but these settings could be changed by the user
overtime.

This is why I would not use the registy - let the user specify the settings
at first run.

Thanks in advance.

Lars
Sep 19 '08 #1
11 3058
Well you arent going to easily be able to recompile your app to change user
settings at runtime so I would suggest that an XML file or the registry are
the best way to go.

--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com
"pbcoder" wrote:
Hi,

I have been asked to create a solution in a single exe - using C# .NET 3.5.

I have found that I can us ILMerge to create a single exe of all of my
Application assemblies.

But my question is what to do about settings/config?

I have some settings should be settings which should be shared between
instances of the application but these settings could be changed by the user
overtime.

This is why I would not use the registy - let the user specify the settings
at first run.

Thanks in advance.

Lars
Sep 19 '08 #2
I normally use xml or registy to store setting, but

The point about the application is that it should be easy to copy between
users simply by copy one file not have to copy several files - I know it
might be difficult/impossible thing to achieve.

Lars

"Ciaran O''Donnell" wrote:
Well you arent going to easily be able to recompile your app to change user
settings at runtime so I would suggest that an XML file or the registry are
the best way to go.

--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com
"pbcoder" wrote:
Hi,

I have been asked to create a solution in a single exe - using C# .NET 3.5.

I have found that I can us ILMerge to create a single exe of all of my
Application assemblies.

But my question is what to do about settings/config?

I have some settings should be settings which should be shared between
instances of the application but these settings could be changed by the user
overtime.

This is why I would not use the registy - let the user specify the settings
at first run.

Thanks in advance.

Lars
Sep 19 '08 #3
If these users are in a corporate network then you should look at have a
central file somewhere they can all access, or if they are spread out over
the net then potentially a webservice where they can get the settings. It is
quite ellaborate to do that but you are asking for a difficult thing. The
settings will have to be somewhere.
--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com
"pbcoder" wrote:
I normally use xml or registy to store setting, but

The point about the application is that it should be easy to copy between
users simply by copy one file not have to copy several files - I know it
might be difficult/impossible thing to achieve.

Lars

"Ciaran O''Donnell" wrote:
Well you arent going to easily be able to recompile your app to change user
settings at runtime so I would suggest that an XML file or the registry are
the best way to go.

--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com
"pbcoder" wrote:
Hi,
>
I have been asked to create a solution in a single exe - using C# .NET 3.5.
>
I have found that I can us ILMerge to create a single exe of all of my
Application assemblies.
>
But my question is what to do about settings/config?
>
I have some settings should be settings which should be shared between
instances of the application but these settings could be changed by the user
overtime.
>
This is why I would not use the registy - let the user specify the settings
at first run.
>
Thanks in advance.
>
Lars
Sep 19 '08 #4
Well unfortunately the users will not be on the same coporate network or may
not even have a network connection.

Could I have the settings as an embedded rescource and the alter it when
needed?

Lars

"Ciaran O''Donnell" wrote:
If these users are in a corporate network then you should look at have a
central file somewhere they can all access, or if they are spread out over
the net then potentially a webservice where they can get the settings. It is
quite ellaborate to do that but you are asking for a difficult thing. The
settings will have to be somewhere.
--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com
"pbcoder" wrote:
I normally use xml or registy to store setting, but

The point about the application is that it should be easy to copy between
users simply by copy one file not have to copy several files - I know it
might be difficult/impossible thing to achieve.

Lars

"Ciaran O''Donnell" wrote:
Well you arent going to easily be able to recompile your app to change user
settings at runtime so I would suggest that an XML file or the registry are
the best way to go.
>
--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com
>
>
"pbcoder" wrote:
>
Hi,

I have been asked to create a solution in a single exe - using C# .NET 3.5.

I have found that I can us ILMerge to create a single exe of all of my
Application assemblies.

But my question is what to do about settings/config?

I have some settings should be settings which should be shared between
instances of the application but these settings could be changed by the user
overtime.

This is why I would not use the registy - let the user specify the settings
at first run.

Thanks in advance.

Lars
Sep 19 '08 #5
Embedded resources are embedded into your application so you would need to
dissasemble the app, edit the settings file and reassemble it. Then work out
a way to replace the file which the application is still running.

Good luck with that, it will be impressive when you have finished
--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com
"pbcoder" wrote:
Well unfortunately the users will not be on the same coporate network or may
not even have a network connection.

Could I have the settings as an embedded rescource and the alter it when
needed?

Lars

"Ciaran O''Donnell" wrote:
If these users are in a corporate network then you should look at have a
central file somewhere they can all access, or if they are spread out over
the net then potentially a webservice where they can get the settings. It is
quite ellaborate to do that but you are asking for a difficult thing. The
settings will have to be somewhere.
--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com
"pbcoder" wrote:
I normally use xml or registy to store setting, but
>
The point about the application is that it should be easy to copy between
users simply by copy one file not have to copy several files - I know it
might be difficult/impossible thing to achieve.
>
Lars
>
"Ciaran O''Donnell" wrote:
>
Well you arent going to easily be able to recompile your app to change user
settings at runtime so I would suggest that an XML file or the registry are
the best way to go.

--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com


"pbcoder" wrote:

Hi,
>
I have been asked to create a solution in a single exe - using C# .NET 3.5.
>
I have found that I can us ILMerge to create a single exe of all of my
Application assemblies.
>
But my question is what to do about settings/config?
>
I have some settings should be settings which should be shared between
instances of the application but these settings could be changed by the user
overtime.
>
This is why I would not use the registy - let the user specify the settings
at first run.
>
Thanks in advance.
>
Lars
Sep 19 '08 #6
Ok - that sounds like a job for the weekend ;-).

I'll see if the my customer might change the requirements for the particular
appllication, since this is going to take some time to acheive.

Thank you for your time Ciaran
Sep 19 '08 #7
On reflection, you could possibly make the app a self extracting zip file
which extracts the EXE and a settings file and then starts the app, then when
you app closes, it can repack the settings file and itself into the exe. You
would probably want a tool for this bit which could be in the zip too.
So the app isnt single exe when running but when not running, it is.
Just an idea for you to think about.
Another option would possibly be to figure out whether you can access any
part of the exe file directly and modify some of it. Possibly add a few bytes
at the end which you can treat as structure storage and write the settings
to. I dont remember if the framework will checksum the exe when it loads it
or if this only happens for strong named assemblies.

--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com
"pbcoder" wrote:
Ok - that sounds like a job for the weekend ;-).

I'll see if the my customer might change the requirements for the particular
appllication, since this is going to take some time to acheive.

Thank you for your time Ciaran
Sep 19 '08 #8
pbcoder wrote:
Hi,

I have been asked to create a solution in a single exe - using C#
.NET 3.5.

I have found that I can us ILMerge to create a single exe of all of
my
Application assemblies.

But my question is what to do about settings/config?

I have some settings should be settings which should be shared
between
instances of the application but these settings could be changed by
the user overtime.

This is why I would not use the registy - let the user specify the
settings at first run.

Thanks in advance.
Uh, why does using the registry preclude letting the user specify the
settings on the first run?

--
--
--John
to email, dial "usenet" and validate
(was jclarke at eye bee em dot net)
Sep 19 '08 #9
Hi Ciaran,

excellent idea about the zip file - i think i will proceed with that idea.

Thank you for your inputs.

"Ciaran O''Donnell" wrote:
On reflection, you could possibly make the app a self extracting zip file
which extracts the EXE and a settings file and then starts the app, then when
you app closes, it can repack the settings file and itself into the exe. You
would probably want a tool for this bit which could be in the zip too.
So the app isnt single exe when running but when not running, it is.
Just an idea for you to think about.
Another option would possibly be to figure out whether you can access any
part of the exe file directly and modify some of it. Possibly add a few bytes
at the end which you can treat as structure storage and write the settings
to. I dont remember if the framework will checksum the exe when it loads it
or if this only happens for strong named assemblies.

--
Ciaran O''Donnell
http://wannabedeveloper.spaces.live.com
"pbcoder" wrote:
Ok - that sounds like a job for the weekend ;-).

I'll see if the my customer might change the requirements for the particular
appllication, since this is going to take some time to acheive.

Thank you for your time Ciaran
Sep 22 '08 #10
Hi,

Well, using the registry does not preclude the user from specifying settings
at first run - sorry for my english writting - but the way that appliaction
is going to be deployed - means that the registry is the best storage for
settings.

Lars

"J. Clarke" wrote:
pbcoder wrote:
Hi,

I have been asked to create a solution in a single exe - using C#
.NET 3.5.

I have found that I can us ILMerge to create a single exe of all of
my
Application assemblies.

But my question is what to do about settings/config?

I have some settings should be settings which should be shared
between
instances of the application but these settings could be changed by
the user overtime.

This is why I would not use the registy - let the user specify the
settings at first run.

Thanks in advance.

Uh, why does using the registry preclude letting the user specify the
settings on the first run?

--
--
--John
to email, dial "usenet" and validate
(was jclarke at eye bee em dot net)
Sep 22 '08 #11
On Sep 21, 11:05*pm, pbcoder <pbco...@discussions.microsoft.com>
wrote:
Hi Ciaran,

excellent idea about thezipfile - i think i will proceed with that idea.

Thank you for your inputs.

The DotNetZip library makes self-extracting zip files.
http://www.codeplex.com/DotNetZip

But currently there is no way to specify, when you create the SFX,
that you want to execute the exe upon unpack.
Oct 4 '08 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
22920
by: Tom_OM | last post by:
I just got a new computer and am having a beast of a time getting Visual Studio to install on it. The computer is an HP Pavilion a750e with an AMD Athlon 64/3700 processor, a gig of RAM, a 250 gig...
2
1738
by: KennethBohman | last post by:
Hi everybody, Question: how can I use the executable.config-files during installation? The answer might seem obvious, but there is apparently more to it! My itention was, as part of the...
7
4976
by: p | last post by:
WE had a Crystal 8 WebApp using vs 2002 which we upgraded to VS2003. I also have Crystal 9 pro on my development machine. The web app runs fine on my dev machine but am having problems deploying....
1
3996
by: Lori | last post by:
I created an install for my program. During installation, 3 User Interface dialogs display asking for values that will be stored in the registry. I'm not registering anything, just storing values...
0
1097
odyth
by: odyth | last post by:
not sure if anyone is having trouble with this, but the same thing happened to me. i have one text box in a custom dialog in my installer that would take the path to a database, if there was a space...
8
4709
by: deciacco | last post by:
I created a deployment project for my .net 2 application in vs 2005. In the properties of the deployment project, under prerequisites i have "Create setup program to install prerequisite components"...
7
10462
by: buzzluck68 | last post by:
Hello, I have an in house application that we developed, but everyone who needs to use the program are not allowed to be local admins on their PCs. I was wondering if there was a way to code...
2
3061
by: Tim Kelley | last post by:
I have an application that I have distributed using one click install. I selected the option to allow the program to be run if the server is offline. From another program I want to be able to...
1
1104
by: Joern Schou-Rode | last post by:
Hi all, I am working on a project where we need to host a growing number of web sites (initially around 15). In terms of functionality the sites are identical, and the only differences lies in...
0
6991
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7196
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
6878
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7373
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5456
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
4583
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3088
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3078
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1405
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.