How to keep the app data between test cases

I am using NUnit in C# for my test script.

For my test_script.cs, I have multiple test cases ([Test]) and I would like the app data to be kept between them. e.g. The changes I made in test case 1 still remains when I am in test case 2.
However, I still want the app to be installed fresh each time I run the test script.

My NUnit setup is like the following:

[TestFixture()]
public void BeforeAll()
{
capabilities.SetCapability(“autoLaunch”, false);
capabilities.SetCapability(“fullReset”, false);
capabilities.SetCapability(“noReset”, true);
}

[SetUp]
public void BeforeEach()
{
driver.LaunchApp();
}

[TestFixtureTearDown]
public void AfterAll()
{
driver.Quit();
}

[TearDown]
public void AfterEach()
{
driver.CloseApp();
}

[Test]
public void Test1()
{
//makes some change to the app
}

public void Test2()
{
//change from Test1 still remain
}

============

I am playing around with the capabilities for fullReset and noReset
When I have fullReset true, it will re-install the app everytime I run the script, but the app data between test cases would not be kept.
With fullReset false and noReset false, my app data is still not kept between test cases.
If I set fullReset to false and noReset true, my app data is kept between test cases, however it does not re-install the app when I run the test script again if it finds the app already installed, therefore keeping the app data from previous test script runs.

How do I make it so that each test script run gives me a fresh install, and in between the test cases the app data do not get deleted?

Thanks,